【发布时间】:2014-05-21 09:11:22
【问题描述】:
我今天要做的是直接从 JSP Servlet 响应中调用 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>
现在,简单来说,我想做的是从上述 JSP 调用我的 Javascript 函数。我认为不能通过以下变通方法做到这一点:
PrintWriter out = response.getWriter();
out.println("<tr><td><input type='button' name='Button' value='Search' onclick=\"searchRecord('"+ argument + "');\"></td></tr>");
因为不会调用其他函数,所以还有对 Javascript 变量的更新。
如何解决这个问题?
非常感谢任何和所有帮助。
【问题讨论】:
-
这个 javascript 方法是否已定义或可以从 myJSP.jsp 文件中访问?
-
如果你转发到JSP,你可以将JSP属性直接放到javascript中。
标签: java javascript jquery jsp servlets