从JSP Servlet向前调用Javascript函数

从JSP Servlet向前调用Javascript函数,java,javascript,jquery,jsp,servlets,Java,Javascript,Jquery,Jsp,Servlets,我今天要做的是直接从JSPServlet响应调用Javascript函数。这是什么意思?代码如下: Servlet,它包含在myServlet.java中 // Takes an XML already previously parsed as a string as input CharSequence confirm= "something"; if (xml.contains(confirm)) { // Carry on // If

我今天要做的是直接从JSPServlet响应调用Javascript函数。这是什么意思?代码如下:

Servlet,它包含在myServlet.java中

// Takes an XML already previously parsed as a string as input
CharSequence confirm= "something";
    if (xml.contains(confirm)) {
            // Carry on
            // If it is contained we needn't go further
    } else {
        // "couldn't find confirms content
        errorMessage = "Does not contain confirm";
        // "If ^ quit this servlet"
        request.setAttribute("rol", this.rol);
        request.setAttribute("user", this.user);
        request.setAttribute("errorMessage", errorMessage);
        forwardToJSP(request, response, "/myJSP.jsp");
    }
现在在Javascript中,我已经定义了一个我想要调用的函数。这大致是这样的:

Javascript,它包含在myJSP.jsp中

<script language="JavaScript" type="text/JavaScript">
    // Assume all document.getElementById calls are properly implemented,
    //   they call real variables that exist elsewhere, but not shown 
    //   here due to irrelevance.
    window.errorExists = function() {
        var errorExists = document.getElementById("terror");
        errorExists.setAtribute("terror", "Does not contain confirm");
        if (errorExists.attributes == "Does not contain confirm"){
           if(confirm("Cannot find content, do you wish to add it?")){
               anotherFunctionCall();
           } else {
               // Don't do anything
           }
    }
}
</script>

//假设所有document.getElementById调用都已正确实现,
//他们称之为存在于别处但未显示的真实变量
//这是因为无关。
window.errorExists=函数(){
var errorExists=document.getElementById(“恐怖”);
存在错误。setAtribute(“恐怖”,“不包含确认”);
if(errorExists.attributes==“不包含确认”){
如果(确认(“找不到内容,是否要添加?”){
另一个函数调用();
}否则{
//什么都不要做
}
}
}
现在,简单地说,我想做的是从前面提到的JSP调用我的Javascript函数。我认为不能通过以下变通办法来实现:

PrintWriter out = response.getWriter();
out.println("<tr><td><input type='button' name='Button' value='Search' onclick=\"searchRecord('"+ argument + "');\"></td></tr>");
PrintWriter out=response.getWriter();
out.println(“”);
因为不会调用另一个函数,所以还会更新Javascript变量

你会怎么做


非常感谢所有帮助。

您可以在JSP页面主体的
onload
参数中调用该方法

由于您已经在使用Forward方法调用一个JSP页面,所以当您调用它时,您的JSP页面将被加载。您可以在JSP页面的body标记中调用您的方法,如下所示:

<body onload="YourMehodName()">


或者,您可以将此脚本放在JSP的底部,在加载页面时将调用此脚本。

此javascript方法是已定义的还是可以从myJSP.JSP文件访问?如果您转发到JSP,您可以将JSP属性直接放置到javascript。您能否进一步详细说明您的初始响应?