【发布时间】:2012-12-07 09:34:53
【问题描述】:
我认为,这是一个非常简单的问题,但我解决它的所有尝试都失败了。
简而言之: 我有一个带有调用 Java Servlet 的表单的 JSP 文件。 servlet 处理输入并返回一个变量(属性)并重定向回 same jsp。 我希望 jsp 使用 JavaScript 来处理返回的属性,而不是 scriptlet。
JSP 代码(test.jsp):
<html>
...
<%@page language="java"
import="java.sql.*"
import="java.util.*"
%>
...
<body>
<script type='text/javascript'>
var name = session.getAttribute("test");
alert(name);
</script>
...
</body>
</html>
还有 Servlet 代码:
protected void doPost(HttpServletRequest request, HttpServletResponse response) {
request.getSession().setAttribute("test", "value");
String redirectedPage = "/test.jsp";
RequestDispatcher reqDispatcher = getServletConfig().getServletContext().getRequestDispatcher(redirectedPage);
reqDispatcher.forward(request,response);
}
我认为问题源于我对会话变量的声明:
var name = session.getAttribute("test");
我也试过了:
var name = (String) session.getAttribute("bob");
和:
String name = (String) session.getAttribute("bob");
我可以使用 scriptlet () 从我的表单中访问此属性,但这不允许我修改/处理返回的属性,我需要这样做。
非常感谢任何帮助。如果你觉得这个问题已经被问到/解决了(我已经搜索过了),请礼貌地告诉我。
【问题讨论】:
-
“session”如何成为 JavaScript 对象?
标签: javascript jsp session servlets attributes