一、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的一些方法。所以我们继承这个类,会调用一些已经写好的方法。这个比较常用:
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>
这种方式比较常用。