3

dispatcher当我在 Struts 2 中使用结果时,我没有收到操作错误。

在动作类中,以下代码用于添加错误消息。

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

4

2 回答 2

4

Dispatcher 是默认的 Struts2 Result Type

它用于执行从Action 到 JSP的标准行为。

需要特殊的结果来执行其他操作,例如从 Action 到 Action 到 JSP,例如RedirectActionResult、ChainResult(不鼓励)等。请注意,在这种路由期间Value Stack您将丢失对象(因此会丢失 ActionErrors 和 ActionMessages)。

在您的情况下,您应该简单地使用默认的 Dispatcher Result Type:

<result name="Failure" type="dispatcher">/jsp/ShowActionErrror.jsp</result>

或者干脆

<result name="Failure">/jsp/ShowActionErrror.jsp</result>

阅读更多关于结果配置

于 2013-09-03T12:34:32.470 回答
2

在 JSP 中使用dispatcher结果类型

<result name="Failure" type="dispatcher">/jsp/ShowActionErrror.jsp</result>
于 2013-09-03T11:11:28.623 回答