假设我们在“page1.jsp”中的“form1”和“page2.jsp”中的“form2”。
步骤是:
提交form1。
我们在“page2.jsp”和
然后使用“表单2”中的隐藏字段将此“t1”值传递给相同的“page2.jsp”或“page3.jsp”。
因此,它是在页面之间传递信息的简单方法。这里看到的区别只有隐藏字段有效,但会话无法做到。如果使用隐藏字段将此“t1”值传递给相同的“page2.jsp”。这意味着如果我们将表单2重定向到相同的page2,即步骤是:
假设我们在“page2.jsp”中的“form1”和“page2.jsp”中的“form2”。
为什么我们无法在隐藏字段可以的同一页面上获取会话值?这个长期的问题,请容忍我。但我想知道这背后的概念。
答案 0 :(得分:1)
实际上,会话可以在同一页面上获得价值。会话驻留在服务器端。
JSP容器在jsession_id
为每个访问者创建,并将此信息作为响应(通过查询字符串或cookie)。对于每个请求,浏览器都会发回jsession_id
个信息。回到服务器端,有一个地图,其中jsession_id为关键,会话为值。 JSP或servlet可以访问此对象中的信息。
但是,当然,t1
中的值(例如您的示例)应该发送到服务器端并放入会话中以便将来恢复使用。