Struts 2 使用约定插件 - ExceptionMapping 不工作

Struts 2 with convention plugin - ExceptionMapping not working

我有以下操作将 java.lang.Exception 映射到名称测试的结果:

@Action(value = "getDispMeiosGruposAmbientes", results = {
    @Result(name = "test", type = "chain", params = {
        "actionName", "getItensSuprimento"
    })}, exceptionMappings = {
    @ExceptionMapping(exception = "java.lang.NullPointerException", result = "test", params = {"param1", "val1"})
})
public class TestAction extends ActionSupport {

    public String execute() throws Exception {
        throw new NullPointerException();
//        return "test";
    }
}

当抛出异常时,测试结果应该重定向到 jsp 页面。

但这不起作用。也许语法有误?

编辑:我已经改变了动作,现在我可以在我 return "test" 字符串时重定向到一个动作,但在我抛出异常时不能。一切正常。

事实证明,我使用的是 Struts 的 2.3.20 版,并且存在异常映射错误,其中抛出的异常未被捕获。我已更改为版本 2.5.17,现在异常映射工作正常。

描述了此错误 on this question and Apache JIRA