您的位置:首页 > 编程语言 > Java开发

Struts2使用通配符配置action

2013-06-22 12:57 447 查看
一、 Action通配符(wildcard)的配置

使用通配符,将配置量降到最低, 不过,一定要遵守"约定优于配置"的原则

1、 通配符

星号(*) 表示所有

{数字} 表示第几个通配符

例如:Student* 那么{1}代表第一个星号(*)

*_* 那么{1}代表第一个星号(*) ,{2}代表第二个星号(*)

[html] view
plaincopy

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

<action name="Student*" class="com.bjsxt.struts2.action.StudentAction" method="{1}">

<result>/Student{1}_success.jsp</result>

</action>

<action name="*_*" class="com.bjsxt.struts2.action.{1}Action" method="{2}">

<result>/{1}_{2}_success.jsp</result>

<!-- {0}_success.jsp -->

</action>

</package>

解释:第一个Action的名称为name=”Student*” method=”{1}”,表示所有Action以Student开始的都会执行这个Action,并且执行Student后字符为方法名的方法,例如:访问的Action为Studentadd,会执行这个Action(Student*),并且执行add的方法.因为{1}在这里代表add,并且返回/Studentadd_success.jsp页面。

第二个Action的名称name=”*_*” method=”{2}” class=”…action.{1}Action” 表示所有Action中包含下划线(“_”)都会执行这个Action,例如:Teacher_add,那么会执行这个Action,并且Action对应的类为TeacherAction,且执行Action中的add方法,返回结果页面为/Teacher_add_success.jsp,因为在这里的{1}表示Teacher,{2}表示add

1、 匹配顺序

当匹配的Action有两个以上时,则会按匹配精确度高的那个Action,当有个相同的匹配精确度时,则按先后顺序进行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: