我的Struts2应用程序的常见用例是我拥有收集JSP页面上显示的数据的Actions。我将这些观点称为行动。
但后来我也有逻辑动作,在后台“做”某事(比如注册用户)。这些也可能有一个需要在JSP上显示的bean,但我需要将结果重定向到其中一个视图操作。
可悲的是,我从第一个动作开始需要的bean不会转移到ValueStack,而只会转移到来自view动作的getter的值。例如:
<action name="mailConfirm" class="de.abelssoft.updateyeti.Frontend.MailConfirmer">
<result name="login" type="redirectAction">
<param name="actionName">register</param>
<param name="email">${person.email}</param>
</result>
<result name="input" type="redirectAction">
<param name="actionName">register</param>
</result>
</action>
我在这里缺少什么模式?或者我必须在响应上下文中存储我需要的所有内容吗?
答案 0 :(得分:0)
我对这个问题没有答案,所以我会告诉你我做了什么。很抱歉没有提供“好的答案”。
我写了两个拦截器。一个用于临时存储用户会话中的消息对象的逻辑操作,另一个用于我的视图操作,这些操作将从用户会话中删除它们。我在需要的地方使用了逻辑操作拦截器,并使用了viewaction拦截器来执行所有其他操作,以确保在视图操作之前发生操作重定向时,将找到并使用消息对象。