在struts2应用程序中保留会话信息

时间:2016-04-08 18:17:07

标签: session login struts2

我正在玩一个简单的struts2应用程序。它有2个JSP页面 - 一个'login.jsp'页面,第二个页面是一个简单的'form.jsp'。我使用相同的表单将数据提交给数据库任意次。如果我成功登录,我会在'form.jsp'页面上显示用户标识的名称。第一次成功登录后,userid将使用<s:property value="#session['user'].userid" />显示在form.jsp上,但在第一次提交后,form.jsp的后续显示将返回userid的空白。

登录和注销页面是SessionAware,但是form.jsp后面的Action只是实现了一个模型对象而不是会话感知。如何在多个提交中保留“用户ID”?如果有人能帮助我,我会非常感激。

1 个答案:

答案 0 :(得分:1)

  

如何在多个提交中保留“用户ID”?

真的需要一个会话变量。由于多个提交调用不同的请求,因此该变量很重要。

将值保存到隐藏字段,如下所示

<s:hidden name="userId" value="%{#session.user.userId}" multiple="true" />

名称必须是camaleCased,因此您拥有属性的getter和setter。当您再次返回表单时,它将从会话中检索值。

相关问题