当前位置: 移动技术网 > IT编程>开发语言>Jsp > struts2中的通配符

struts2中的通配符

2018年02月18日  | 移动技术网IT编程  | 我要评论
、          Action通配符(wildcard)的配置 使用通配符,将配置量

、          Action通配符(wildcard)的配置

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

1、  通配符

星号(*)  表示所有

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

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

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


[html]
<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> 

<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,当有个相同的匹配精确度时,则按先后顺序进行。


 

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网