一、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>
这种方式比较常用。