一、Action書寫方式:
接口地址:https://struts.apache.org/maven/struts2-core/apidocs/index.html
Action類就是一個POJO類。
1、 POJO類:POJO(Plain Ordinary Java Object )簡單的Java對象,簡而言之:沒有繼承類、沒有實現接口的簡單類。
2、實現Action的接口的實現類:繼承ActionSupport。該類為我們定義了幾個常量表格如下:
還有實現Action的一些方法。所以我們繼承這個類,會調用一些已經寫好的方法。這個比較常用:
1 package jd.com.imaction; 2 3 import com.opensymphony.xwork2.ActionSupport; 4 5 public class ImAction extends ActionSupport { 6 public String savCu(){ 7 System.out.println("繼承ACCTION類 savCu" ); 8 return SUCCESS; 9 } 10 11 public String delCu(){ 12 System.out.println("繼承ACCTION類 delCu" ); 13 return SUCCESS; 14 } 15 }
返回常量就會返回對應的邏輯視圖,會在strust.xml映射。
1 <package name="imac" extends="struts-default" namespace="/"> 2 <action name="Custorm_*" method="{1}" class="jd.com.imaction.ImAction" > 3 <result name="success">demo/re.jsp</result> 4 </action> 5 </package>
二、strust2 配置方式:
1、傳統方式:
1 <!--設置訪問后綴--> 2 <constant name="struts.action.extension" value="do,," /> 3 <package name="oop" namespace="/" extends="struts-default"> 4 <action name="hello" class="jd.com.action.SayHello" method="helloSttust"> 5 <result name="oop" >demo/re.jsp</result> 6 </action> 7 8 </package>
一個action類對應一個action標簽。
2、通配方式(比較常用):
1 <package name="imac" extends="struts-default" namespace="/"> 2 <action name="Custorm_*" method="{1}" class="jd.com.imaction.ImAction" > 3 <result name="success">demo/re.jsp</result> 4 </action> 5 </package>
使用*來匹配前端請求,通過{num} num從1開始,如果多個一次填寫。*代表執行action類的方法。
前端url:
1 <a href="${pageContext.request.contextPath}/Custorm_savCu">保存客戶數據</a> 2 <a href="${pageContext.request.contextPath}/Custorm_delCu">刪除客戶端數據</a>
這種方式比較常用。