Struts2 中的配置文件 package name 、namespace 以及 对象方法调用

在struts2 struts.xml 配置中
<struts>
  <package name="caixuedong" extends="struts-default" namespace="/core">
    <action name="greeting" class="com.tarena.struts2.action.GreetingAction" >
      <result name="success">/core/greeting.jsp </result>
    </action>
  </package>
</struts>

1.package中的name只是一个标识,你可以随意命名,可以用作继承用 如  
   <package name="struts-default" abstract="true"></package>
   extends="default";
2.action中的name对应你页面中的一个action跳转,比如你页面有个表单提交: <form action="/core/greeting" />  greeting 对应struts.xml中action里的name
3.namespace是用于区分包中相同的类,如果没写,说明该包为默认空间,如果写了(如你的这个例子),那么就说明包caixuedong的空间为/core。

============================================================
调用action 中的方法
配置方法一:直接配置方法路径

<package name="user"  namespace="/user"  extends="struts-default">  
  <action name="save"  class="com.puckasoft.web.action.UserAction"    method="saveUser"></action
  <action name="update"  class="com.puckasoft.web.action.UserAction"    method="updateUser"></action
  <action name="delete"  class="com.puckasoft.web.action.UserAction"    method="deleteUser"></action>
  <action name="show"  class="com.puckasoft.web.action.UserAction"    method="showUser"></action>
  
</package

   用户添加 /user/save.action
   用户更新 /user/update.action
   用户删除 /user/delete.action
   用户查看 /user/show.acton

配置方法二: action动态方法调用DMI
  
<constant name="struts.enable.DynamicMethodInvocation" value="true" />  
  <package name="user"  namespace="/user"  extends="struts-default"
    <action name="index"  class="com.puckasoft.web.action.UserAction"/>  
  </package>

 

  运行路径格式:包的命名空间/Action的名字!Action类中定义的方法名
   用户添加 /user/index!saveUser.action
   用户更新 /user/index!updateUser.action
   用户删除 /user/index!deleteUser.action
   用户查看 /user/index!showUser.acton

配置方法三:使用通配符定义Action
使用通配符,将配置量降到最低。
在action元素的name属性中可以使用*通配符,它可以匹配除了/以外的多个连续字符,在action元素的class和method属性以及 result元素中可以引用*通配符在访问期间实际匹配的内容

<package name="user"  namespace="/user"  extends="struts-default">  
  <action name="*" class="com.puckasoft.web.action.UserAction" method="{1}User"/> 
</package

运行路径路径格式: 包的命名空间/Action的名字

   用户添加 /user/save.action
   用户更新 /user/update.action
   用户删除 /user/delete.action
   用户查看 /user/show.acton

 

 

 

posted @ 2016-07-15 09:55  roscee  阅读(6964)  评论(1)    收藏  举报