Struts 2 为某些操作添加异常映射

Struts 2 add exception mapping for certain actions

考虑一个包含大量注释操作的项目。

public class TransferMoney(){

    @Action("transfer-money-show-form")
    public String showForm();

    @Action("transfer-money-confirm")
    public String confirmForm();

    @Action("transfer-money-result")
    public String result();
}

我想将异常映射添加到 confirmForm,这样我就可以这样做:

@Action(value = "transfer-money-confirm", 
        exceptionMappings = 
                 {@ExceptionMapping(
                       exception = "java.lang.Exception", 
                        result = "exception")
                  }
        )

但是,这是更好的方法吗?!正如我所说,我有很多操作,我不想为每个操作一一添加 exceptionMapping。我想向它们添加映射的操作名称都以 confirm 结尾,但它似乎没有用,因为异常映射不接受正则表达式。

您可以在 struts.xml 中使用 <global-exception-mappings>。全局异常映射是每个 S2 包的,因此您可以通过将它们放入单独的包来为操作定义不同的映射。

<package name="default">
    ...
    <global-exception-mappings>
        <exception-mapping exception="java.lang.Exception" result="exception"/>
    </global-exception-mappings>
    ...
</package>