0

我的 Struts2 应用程序的常见用例是我有收集 JSP 页面上呈现的数据的操作。我将这些称为视图操作。

但是我也有逻辑动作,在后台“做”一些事情(比如注册用户)。这些也可能有一个需要在 JSP 上显示的 bean,但我需要将结果重定向到其中一个视图操作。

可悲的是,我从第一个动作中需要的 bean 没有被转移到 ValueStack,而只有来自视图动作的 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>

我在这里缺少什么模式?还是我必须在响应上下文中存储我需要的所有内容?

4

1 回答 1

0

我没有得到这个问题的答案,所以我会告诉你我做了什么。很抱歉没有提供“好的答案”。

我写了两个拦截器。一种用于将消息对象临时存储在用户会话中的逻辑操作,另一种用于我的视图操作,该操作将采取并将其从用户会话中删除。

我在需要的地方使用了逻辑动作拦截器,并将 viewaction 拦截器用于所有其他动作,以确保在查看动作之前发生动作重定向时,将找到并使用消息对象。

于 2010-08-17T10:04:17.750 回答