我可以在不同的动作类之间传播struts2 ActionError吗?
问题内容:
如果我有一个操作,其结果是对另一个类中另一个操作的redirectAction,那么是否有可能获得验证错误以显示在结果操作中?例如,在以下示例中,如果用户执行actionA(没有与之关联的视图),并且有错误,是否有任何方法可以在actionB结果(foo.jsp)中显示这些错误?还是我完全以错误的方式进行此操作?
<package name="a" extends="struts-default" namespace="/a">
<action name="actionA" class="actionAClass">
<result name="input" type="redirectAction">
<param name="actionName">actionB</param>
<param name="namespace">/b</param>
</result>
<result type="redirectAction">
<param name="actionName">actionB</param>
<param name="namespace">/b</param>
</result>
</action>
</package>
<package name="b" extends="struts-default" namespace="/b">
<action name="actionB" class="actionBClass">
<result>/foo.jsp</result>
</action>
</package>
问题答案:
可能有一种方法可以做到这一点,但我认为这不是使用struts的好方法。如果actionA验证失败,则您很可能想要显示错误的非重定向输入结果,或者可能显示错误的全局错误页面。
我想您可以将操作错误存储在重定向之间的会话之类的位置,但是您实际上不会使用框架的设计方式。