Struts 2 中会话无效后发送注销配置值

问题描述 投票:0回答:2

我有一个 Struts 2 Web 应用程序。

目前,当用户单击注销 URL 时,我们会调用注销操作,并在方法中调用

session.invalidate()
。如果成功,我们就会打电话给
logout.jsp

logout.jsp
中我们需要重定向到另一个链接。此链接当前在 JSP 中硬编码。

测试和生产中的链接是不同的,因此我们在测试和生产中部署时必须对此链接进行更改。我们有从外部文件获取值的实用程序。但由于会话已失效,我们无法在会话中设置值并在 JSP 中检索。

最好的方法是什么?

java jsp authentication session struts2
2个回答
0
投票

在启动时将值放入应用程序上下文中,并从同一位置检索它。

没有理由在会话中放置任何不是每个用户值的东西。


0
投票

如果您需要会话来执行此操作,您可以在会话失效之前配置结果。

配置结果后,您可以对要重定向的操作或 URL 使用动态参数,不再需要 JSP 来执行重定向。

重定向结果无需渲染 JSP 即可做到这一点。

该示例取自对 Redirecting to another action withknown amount ofparameters in Struts 2的答案。

您还可以保存查询字符串而不是参数映射。

String params = request.getQueryString();

要将参数动态添加到

redirectAction
结果,您应该在动态参数中使用 OGNL。

<param name="actionName">${previousAction.name +'?'+ parameters}</param>

假设您有一个参数的 getter,并从保存先前查询字符串、操作名称和命名空间的会话中初始化它。

© www.soinside.com 2019 - 2024. All rights reserved.