struts2默认Action配置

Posted Flink菜鸟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>

以上是关于struts2默认Action配置的主要内容,如果未能解决你的问题,请参考以下文章

Struts2-学习笔记系列-配置action

struts2之action

Struts2配置详解

Struts2的动态方法,及result跳转方式,全局结果以及默认的action的配置

Struts2项目搭建之struts.xml配置

Struts2学习---namespace,file模块包含,默认action