一、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类-LMLPHP

还有实现Action的一些方法。所以我们继承这个类,会调用一些已经写好的方法。这个比较常用:

 package jd.com.imaction;

 import com.opensymphony.xwork2.ActionSupport;

 public class ImAction extends ActionSupport {
public String savCu(){
System.out.println("继承ACCTION类 savCu" );
return SUCCESS;
} public String delCu(){
System.out.println("继承ACCTION类 delCu" );
return SUCCESS;
}
}

返回常量就会返回对应的逻辑视图,会在strust.xml映射。

 <package name="imac" extends="struts-default" namespace="/">
<action name="Custorm_*" method="{1}" class="jd.com.imaction.ImAction" >
<result name="success">demo/re.jsp</result>
</action>
</package>

二、strust2 配置方式:

1、传统方式:

     <!--设置访问后缀-->
<constant name="struts.action.extension" value="do,," />
<package name="oop" namespace="/" extends="struts-default">
<action name="hello" class="jd.com.action.SayHello" method="helloSttust">
<result name="oop" >demo/re.jsp</result>
</action> </package>

一个action类对应一个action标签。

2、通配方式(比较常用):

 <package name="imac" extends="struts-default" namespace="/">
<action name="Custorm_*" method="{1}" class="jd.com.imaction.ImAction" >
<result name="success">demo/re.jsp</result>
</action>
</package>

使用*来匹配前端请求,通过{num} num从1开始,如果多个一次填写。*代表执行action类的方法。

前端url:

     <a href="${pageContext.request.contextPath}/Custorm_savCu">保存客户数据</a>
<a href="${pageContext.request.contextPath}/Custorm_delCu">删除客户端数据</a>

这种方式比较常用。

 

04-26 16:36