当我在Struts 2中使用dispatcher
结果时,我没有收到操作错误。
在动作类中,以下代码用于添加错误消息。
addActionError("Error");
return "Failure";
在Struts配置中:
...
<result name="Failure" type="dispatcher">/ShowError.do</result>
...
<action name="ShowError">
<result>/jsp/ShowActionErrror.jsp</result>
</action>
在ShowActionErrror.jsp
:
<div class="error"><s:actionerror /></div>
但是,我在ShowActionErrror.jsp
没有收到操作错误消息?
答案 0 :(得分:4)
Dispatcher是默认的Struts2 Result Type。
它用于执行标准行为,从 Action到JSP 。
执行其他操作需要特殊结果,例如 Action to Action to JSP ,例如RedirectAction
结果,Chain
结果(不鼓励),请注意,您将丢失Value Stack
个对象(因此ActionErrors和ActionMessages)during this kind of routing。
在您的情况下,您应该只使用默认的Dispatcher Result Type:
<result name="Failure" type="dispatcher">/jsp/ShowActionErrror.jsp</result>
或只是
<result name="Failure">/jsp/ShowActionErrror.jsp</result>
详细了解Result Configuration。
答案 1 :(得分:2)
对JSP使用dispatcher
结果类型
<result name="Failure" type="dispatcher">/jsp/ShowActionErrror.jsp</result>