在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