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

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM