【发布时间】:2011-04-20 19:00:15
【问题描述】:
我正在编写一个 struts2 应用程序并访问用户必须登录的系统。我的操作正常工作,系统工作正常,但在操作返回“成功”后,它转发到“welcome.jsp”页面,但 url 以“login.action”结尾。为了刷新页面,我需要 url 以“welcome.jsp”结尾。如何在不使用 javascript 手动更改 url 的情况下实现这一点?非常感谢。
这是我的 struts.xml 文件中的操作标记...
<action name="login" method="authenticate" class="LoginAction">
<result name="success">welcome.jsp</result>
<result name="error">login.jsp</result>
</action>
【问题讨论】:
-
我假设您正在向会话中添加一些内容以显示用户已登录?如果是这样,请“LoginAction”类检查是否设置了此会话属性,如果用户已登录,则返回“成功”。要做到这一点很容易让“LoginAction”实现 SessionAware,从那里它非常简单。 (尽管您应该弄清楚如何使用拦截器重构您的解决方案,但一步一步)。这不会按照您的要求更改网址,但它会使刷新问题消失,从而解决问题。