我执行以下操作,将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页面。
但这不起作用。也许语法错误?
编辑:我已经更改了动作,现在当我返回“测试”字符串时可以重定向到动作,但是当我抛出异常时不能重定向到动作。一切似乎都很好。
答案 0 :(得分:0)
事实证明,我使用的是Struts的2.3.20版本,并且存在一个带有异常映射的错误,该错误未捕获抛出的异常。我已更改为版本2.5.17,现在异常映射可以正常工作。
on this question和Apache JIRA中描述了此错误;