zoukankan      html  css  js  c++  java
  • struts2 action通配符

    首先,看一个struts2的配置文件:

    <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>
    </package> 

    这里,"{1}"表示第1个*,例如,当请求以下路径时:

    引用
    http://localhost:9000/Struts2_0600_ActionWildcard/actions/Studentadd


    *为add,因此method="add",返回的页面为/Studentadd_success.jsp
    即实际调用的是StudentAction中的add方法。

    struts2的配置文件还可以更加简洁,即在action的class中使用通配符,如下:

    <package name="actions" extends="struts-default" namespace="/actions">   
       <action name="*_*" class="com.bjsxt.struts2.action.{1}Action" method="{2}">   
           <result>/{1}_{2}_success.jsp</result>          
       </action>         
    </package>

    使用两个通配符,{1}代表第一个*,{2}代表第二个*号。
    这个配置文件的意思是调用{1}Action的{2}方法,返回到{1}_{2}_success.jsp这个页面。例如,当请求一下路径时:

    引用

    http://localhost:9000/Struts2_0600_ActionWildcard/actions/Teacher_add


    其中{1}为Teacher,{2}为add,即实际调用的是TeacherAction类中的add方法,返回到Teacher_add_success.jsp页面。

    可以看到,使用第二种通配符,配置文件非常简洁,即使增加类和方法,也不需要修改配置文件,因此推荐通过第二种方式使用通配符。

    Struts2配置中 Action 使用通配符

    1). Xml代码

       1. <action name="user*" class="com.UserAction" method="{1}"> 
       2.        <result name="succee">/logon/welcome.jsp</result> 
       3.        <result name="input">/logon/logon.jsp</result> 
       4. </action> 

    <action name="user*" class="com.UserAction" method="{1}">
           <result name="succee">/logon/welcome.jsp</result>
           <result name="input">/logon/logon.jsp</result>
    </action>

    比如当用户请求userLogon时,会被UserAction类处理,method{1}中{1}值为name属性中第一个*的值.

    2).Xml代码

       1. <action name="*Action_*" class="com.{1}" method="{2}"> 
       2.         <result name="succee">/logon/welcome.jsp</result> 
       3.         <result name="input">/logon/logon.jsp</result> 
       4. </action> 

    <action name="*Action_*" class="com.{1}" method="{2}">
            <result name="succee">/logon/welcome.jsp</result>
            <result name="input">/logon/logon.jsp</result>
    </action>

    当用户请求UserAction_logon时,会被UserAction类的logon方法处理
    与上面一样,class中{1}的值为name属性中第一个*的值,也就是UserAction,{2}的值为name属性中第二个*的值,即为logon

  • 相关阅读:
    iOS开发拓展篇—音频处理(音乐播放器1)
    iOS开发拓展篇—CoreLocation地理编码
    iOS开发拓展篇—CoreLocation定位服务
    iOS开发拓展篇—CoreLocation简单介绍
    iOS开发拓展篇—封装音频文件播放工具类
    图标框架Font Awesome
    WordPress基础:设置后台语言
    使用帝国备份王备份还原网站数据
    WordPress主题开发:加载脚本和样式
    WordPress主题开发:get_term_by和get_term_link
  • 原文地址:https://www.cnblogs.com/azhqiang/p/4670809.html
Copyright © 2011-2022 走看看