JSP – 如何在session.setAttribute中传递javascript var?

学习JSP的新手,并尝试在两个页面之间传递数据。

我想知道是否可以将javascript变量传递给session.setAttribute()

目前,我可以通过2个jsp文件传递一串文本,如下所示:

JSP1:

  

JSP2:

 var someText = "" 

哪个工作正常。

但是,是否可以将var传递给session.setAttribute ? 我将一些数据存储在javascript变量中,并希望将其发送到第二个JSP文件。

例如:

 var number = 7;  

我试过这个,我得到错误“数字无法解析为变量”

谢谢!

你不能这样做,因为javascript在客户端执行并且JSP在服务器端执行。

如果要将javascript变量设置为JSP会话,则可以通过此URL传递此变量

 var number = 7; window.location="http://example.com/index.jsp?param="+number; 

现在在这样的JSP页面中接收这个var

 String var = request.getParameter("param"); 

现在将其设置为会话

 session.setAttribute("test", var); 

编辑:

 var number = 7; <%session.setAttribute("test", number);%> 

在上面的代码中,服务器只会执行<%%>中的代码。 它不知道JSP标记之外的任何内容。 所以,它也不会知道你的javascript变量number

服务器执行代码并将结果发送到浏览器,然后您的浏览器将执行该javascript代码var number=7;

希望,现在对你来说很清楚。