Tom*_*Tom 1 javascript java session jsp
学习JSP的新手,并尝试在两个页面之间传递数据.
我想知道是否可以传递一个javascript变量 session.setAttribute()
目前,我可以通过2个jsp文件传递一串文本,如下所示:
JSP1:
<% String text = "hello";
session.setAttribute("test", text);%>
Run Code Online (Sandbox Code Playgroud)
JSP2:
var someText = "<%=session.getAttribute("test")%>"
Run Code Online (Sandbox Code Playgroud)
哪个工作正常.
但是,是否有可能通过一个var进入session.setAttribute而不是?我将一些数据存储在javascript变量中,并希望将其发送到第二个JSP文件.
例如:
var number = 7;
<%session.setAttribute("test", number);%>
Run Code Online (Sandbox Code Playgroud)
我试过这个,我得到错误"数字无法解析为变量"
谢谢!
你不能这样做,因为javascript在客户端执行并且JSP在服务器端执行.
如果要将javascript变量设置为JSP会话,则可以通过此URL传递此变量
var number = 7;
window.location="http://example.com/index.jsp?param="+number;
Run Code Online (Sandbox Code Playgroud)
现在在这样的JSP页面中接收这个var
String var = request.getParameter("param");
Run Code Online (Sandbox Code Playgroud)
现在将其设置为会话
session.setAttribute("test", var);
Run Code Online (Sandbox Code Playgroud)
编辑:
var number = 7;
<%session.setAttribute("test", number);%>
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,服务器只会执行<%%>中的代码.它不知道JSP标记之外的任何内容.所以,它也不会知道你的javascript变量number.
服务器执行代码并将结果发送到浏览器,然后您的浏览器将执行该javascript代码var number=7;.
希望,现在对你来说很清楚.
| 归档时间: |
|
| 查看次数: |
29664 次 |
| 最近记录: |