Action通配符(wildcard)的配置
使用通配符将配置量降到最低 不过一定要遵守约定优于配置的原则
通配符
星号(*) 表示所有
{数字}表示第几个通配符
例如Student* 那么{}代表第一个星号(*)
*_* 那么{}代表第一个星号(*) {}代表第二个星号(*)
[html]
<package name=actions extends=strutsdefault namespace=/actions>
<action name=Student* class=combjsxtstrutsactionStudentAction method={}>
<result>/Student{}_successjsp</result>
</action>
<action name=*_* class=combjsxtstrutsaction{}Action method={}>
<result>/{}_{}_successjsp</result>
<! {}_successjsp >
</action>
</package>
<package name=actions extends=strutsdefault namespace=/actions>
<action name=Student* class=combjsxtstrutsactionStudentAction method={}>
<result>/Student{}_successjsp</result>
</action>
<action name=*_* class=combjsxtstrutsaction{}Action method={}>
<result>/{}_{}_successjsp</result>
<! {}_successjsp >
</action>
</package>
解释第一个Action的名称为name=Student* method={}表示所有Action以Student开始的都会执行这个Action并且执行Student后字符为方法名的方法例如访问的Action为Studentadd会执行这个Action(Student*)并且执行add的方法因为{}在这里代表add并且返回/Studentadd_successjsp页面
第二个Action的名称name=*_* method={} class=…action{}Action 表示所有Action中包含下划线(_)都会执行这个Action例如Teacher_add那么会执行这个Action并且Action对应的类为TeacherAction且执行Action中的add方法返回结果页面为/Teacher_add_successjsp因为在这里的{}表示Teacher{}表示add
匹配顺序
当匹配的Action有两个以上时则会按匹配精确度高的那个Action当有个相同的匹配精确度时则按先后顺序进行