学习JSP的新手,并尝试在两个页面之间传递数据。
我想知道是否可以将javascript变量传递给session.setAttribute()
目前,我可以通过2个jsp文件传递一串文本,如下所示:
JSP1:
<% String text = "hello";
session.setAttribute("test", text);%>
JSP2:
var someText = "<%=session.getAttribute("test")%>"
工作正常。
但是,是否可以通过var
转换为session.setAttribute
?我将一些数据存储在javascript变量中,并希望将其发送到第二个JSP文件。
例如:
var number = 7;
<%session.setAttribute("test", number);%>
我已经尝试过了,我收到错误&#34;号码无法解析为变量&#34;
谢谢!
答案 0 :(得分:7)
你不能这样做,因为javascript在客户端&amp; JSP在服务器端执行。
如果要将javascript变量设置为JSP会话,则可以通过URL传递此变量,如此
Context
现在在JSP页面中收到此var
var number = 7;
window.location="http://example.com/index.jsp?param="+number;
现在将其设置为会话
String var = request.getParameter("param");
编辑:
session.setAttribute("test", var);
在上面的代码中,服务器只会执行&lt; %%&gt;内的代码。它不知道JSP标记之外的任何内容。因此,它也不会知道您的javascript变量var number = 7;
<%session.setAttribute("test", number);%>
。
服务器执行代码&amp;结果将发送到浏览器,然后您的浏览器将执行该javascript代码number
。
希望,现在很清楚。