当我在 Struts 2 中使用
dispatcher
结果时,我没有收到操作错误。
在action类中,以下代码用于添加错误消息。
addActionError("Error");
return "Failure";
在
struts.xml
:
...
<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
中收到操作错误消息?
Dispatcher 是默认的 Struts2 结果类型。
它用于执行标准行为,从Action到JSP。
执行其他操作需要特殊结果,如Action 到 Action 到 JSP,如
RedirectAction
结果、Chain
结果(不鼓励)等。请注意,您将丢失 Value Stack
对象(因此ActionErrors 和 ActionMessages)在这种路由过程中。
在您的情况下,您应该简单地使用默认的调度程序结果类型:
<result name="Failure" type="dispatcher">/jsp/ShowActionErrror.jsp</result>
或者简单地
<result name="Failure">/jsp/ShowActionErrror.jsp</result>
阅读更多关于结果配置的信息。
在 JSP 中使用
dispatcher
结果类型
<result name="Failure" type="dispatcher">/jsp/ShowActionErrror.jsp</result>