我要做的是修改内容
方法需要传过去一个实体对象
需要封装
比如
tpl.setTitle();
里面应该放的是一个表单元素的value然后就写了个js得到这个value
function f(na)
{
var a= document.getElementById(na).value;
return a;
}
但是不知道怎么让tpl.setTitle()里面放这个js函数 求高手解答下~~

解决方案 »

  1.   

    java调js?没用过。
    感觉你页面上,可以用对应的js来setTitle之类的。
      

  2.   

    首先告诉你直接调用时不可能的。不过可以间接调用比如在这个java代码里面生成一些js脚本当然还有很多方法。
      

  3.   

    js是客户端脚本,通常是不能同服务器交互的,除非用Ajax!你可以Ajax把JavaScript获得的值传到一个指定的servlet里,然后在servlet里给实体类进行赋值。
      

  4.   

    js 调用 java 可以。 java调用js就无法实现了。
      

  5.   

    this.getResponse().setContentType("text/html;charset=GB2312");
    this.getResponse().setCharacterEncoding("GB2312");// 设置字符编码格式
    PrintWriter out = this.getResponse().getWriter();// 获得输出流
    StringBuffer url = new StringBuffer();
    url.append("<script>window.location='/E6bD9HaY/AIN2NMb2pB/subject/training/");// 重定向到页面
    url.append("getPracticePlan_admin.action?page=");
    url.append(this.getPage());
    url.append("&plan.name=");// 保存当前条件
    if (this.getPlan() == null) {
    this.setPlan(new Plan());
    }
    if (this.getPaper() == null) {
    this.setPaper(new Paper());
    }
    url.append(this.getPlan().getName());
    url.append("&plan.planid=");
    if (this.getPlan().getPlanid() == null) {
    this.getPlan().setPlanid(0);
    }
    if (this.getPaper().getJobtype() == null) {
    this.getPaper().setJobtype(0);
    }
    url.append(this.getPlan().getPlanid());
    url.append("&paper.jobtype=");
    url.append(this.getPaper().getJobtype());
    url.append("&plan.isexam=1");
    url.append("'</script>");
    if (planid != null && !"".equals(planid)) {
    String[] params = planid.split(", ");
    Integer[] intparams = new Integer[params.length];
    if (params != null && params.length > 0) {
    for (int i = 0; i < params.length; i++) {
    intparams[i] = Integer.parseInt(params[i]);
    }
    planServices.deletePlanByPlanId(intparams);
    out.print("<script>alert('操作成功!')</script>");
    } else {
    out.print("<script>alert('操作失败!')</script>");
    }
    } else {
    out.print("<script>alert('操作失败!')</script>");
    }
    out.print(url.toString());
    out.flush();
    out.close();
    //这个是在JAVA中的写的JS.在JSP的<%%>中应该也可以的.试一下.
      

  6.   

    刚好我也在处理这样的问题。你看看。
    /*  
     * 在java中调用js,jdk1.6中有加载js引擎类,然后由它来调用js方法。  
     * 并通过JDK平台给script的方法中的形参赋值    
     */  
    public void test(String name)   
    {   
        ScriptEngineManager sem = new ScriptEngineManager();    
        /*  
         *sem.getEngineByExtension(String extension)参数为js     
          sem.getEngineByMimeType(String mimeType) 参数为application/javascript 或者text/javascript     
          sem.getEngineByName(String shortName)参数为js或javascript或JavaScript   
         */  
        ScriptEngine se = sem.getEngineByName("js");    
        try    
        {    
          String script = "function say(){ return 'hello,'"+name+"; }";   
          se.eval(script);    
          Invocable inv2 = (Invocable) se;    
          String res=(String)inv2.invokeFunction("say",name);    
          System.out.println(res);   
        }    
        catch(Exception e)    
        {    
            e.printStackTrace();   
        }    
      
    }