2016-04-08 71 views
1

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

登录页面和注销页面是SessionAware,但form.jsp后面的Action只是实现了一个模型对象,而不是会话感知。如何在多次提交中保留“用户标识符”?如果任何人都可以请帮助我,我会很感激。

+0

所以,只要让它成为'SessionAware'。什么是问题? –

回答

1

如何在多次提交中保留“用户标识”?

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

保存价值的隐藏提起这样

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

名称必须camaleCased,让你有getter和setter的财产。当您再次返回表单时,它将从会话中检索值。