struts2默认Action配置

在项目中,需要在输入错误的url的时候,弹出友好的错误提示页面

在struts2中可以通过配置默认的action达到这个目的

配置方法:  

<package name="default" namespace="/" extends="struts-default">
<default-action-ref name="index"></default-action-ref>
<action name="index">
<result>/jsp/error.jsp</result>
</action>
<action name="HelloWorld_*" method="{1}" class="com.venn.action.HelloWorldAction">
<result>/jsp/test.jsp</result>
<result name="add">/jsp/{1}.jsp</result>
<result name="update">/jsp/{1}.jsp</result>
</action>
</package>

 

在使用全通配符的配置中,会抛出找不到Action异常,不进如默认action(我遇到的是这样的),不能使用

<package name="default" namespace="/" extends="struts-default">

<default-action-ref name="index"></default-action-ref>
<action name="index">
<result>/jsp/error.jsp</result>
</action>
<action name="*_*" method="{2}" class="com.venn.action.{1}Action">
<result>/jsp/test.jsp</result>
<result name="add">/jsp/{2}.jsp</result>
<result name="update">/jsp/{2}.jsp</result>
</action>

</package>

但是如果把包名也用通配符代替,就不会出错,令人费解。。可以使用

<package name="default" namespace="/" extends="struts-default">

<default-action-ref name="index"></default-action-ref>
<action name="index">
<result>/jsp/error.jsp</result>
</action>
<action name="*_*_*" method="{2}" class="com.venn.{3}.{1}Action">
<result>/jsp/test.jsp</result>
<result name="add">/jsp/{2}.jsp</result>
<result name="update">/jsp/{2}.jsp</result>
</action>

</package>

原文地址:https://www.cnblogs.com/Springmoon-venn/p/5579073.html