需求:希望action类的操作方法如execute抛出异常时,在一个error.jsp中显示异常,而不是直接报出一堆堆栈信息。
<global-results>和<global-exception-mappings>可以满足一部分要求,却要在每个package中定义,麻烦。<package name="mystruts" namespace="/mystruts" extends="struts-default">
<global-results>
<result name="error">/error.jsp</result>
</global-results> <global-exception-mappings>
<exception-mapping result="error" exception="java.lang.Exception"></exception-mapping>
</global-exception-mappings> <action name="sum" class="com.test.CalAction">
<result name="positive">/positive.jsp</result>
<result name="negative">/negative.jsp</result>
<result name="test">/result.jsp</result>
</action>
</package>
有没有更直接的办法?
<global-results>和<global-exception-mappings>可以满足一部分要求,却要在每个package中定义,麻烦。<package name="mystruts" namespace="/mystruts" extends="struts-default">
<global-results>
<result name="error">/error.jsp</result>
</global-results> <global-exception-mappings>
<exception-mapping result="error" exception="java.lang.Exception"></exception-mapping>
</global-exception-mappings> <action name="sum" class="com.test.CalAction">
<result name="positive">/positive.jsp</result>
<result name="negative">/negative.jsp</result>
<result name="test">/result.jsp</result>
</action>
</package>
有没有更直接的办法?
<package name="try">
<global-results>
<result name="error">/error.jsp</result>
</global-results> <global-exception-mappings>
<exception-mapping result="error" exception="java.lang.Exception"></exception-mapping>
</global-exception-mappings>
</package> <package name="mystruts" namespace="/mystruts" extends="try"> <action name="sum" class="com.test.CalAction">
<result name="positive">/positive.jsp</result>
<result name="negative">/negative.jsp</result>
<result name="test">/result.jsp</result>
</action>
</package> 启动时就报错了。No result type specified for result named 'error', perhaps the parent package does not specify the result type? - result
<global-results>
...
</global-results> <global-exception-mappings>
...
</global-exception-mappings>
</package> <package name="test" namespace="/test" extends="pkg">
</package>