JAVA框架Struts2 Action类

一、Action书写方式:

接口地址:https://struts.apache.org/maven/struts2-core/apidocs/index.html

Action类就是一个POJO类。

  1、 POJO类:POJO(Plain Ordinary  Java Object )简单的Java对象,简而言之:没有继承类、没有实现接口的简单类。

 2、实现Action的接口的实现类:继承ActionSupport。该类为我们定义了几个常量表格如下:

JAVA框架Struts2 Action类

还有实现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>

这种方式比较常用。