UserAction.java
import com.opensymphony.xwork2.ActionSupport;
public class UserAction extends ActionSupport{
public String find() {
System.out.println("查询用户...");
return NONE;
}
public String update() {
System.out.println("修改用户...");
return NONE;
}
public String delete() {
System.out.println("删除用户...");
return NONE;
}
public String save() {
System.out.println("保存用户...");
return NONE;
}
}
ProductAction.java
import com.opensymphony.xwork2.ActionSupport;
public class ProductAction extends ActionSupport {
public String find() {
System.out.println("查询商品...");
return NONE;
}
public String update() {
System.out.println("修改商品...");
return NONE;
}
public String delete() {
System.out.println("删除商品...");
return NONE;
}
public String save() {
System.out.println("保存商品...");
return NONE;
}
}
CustomerAction.java
import com.opensymphony.xwork2.ActionSupport;
public class CustomerAction extends ActionSupport {
public String find() {
System.out.println("查询客户...");
return NONE;
}
public String update() {
System.out.println("修改客户...");
return NONE;
}
public String delete() {
System.out.println("删除客户...");
return NONE;
}
public String save() {
System.out.println("保存客户...");
return NONE;
}
}
和方法下的配置文件---strutsdemo3.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!-- 开启动态方法访问 -->
<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
<!-- Struts2为了管理Action的配置,通过包进行管理 -->
<!-- 配置Struts2的包============== -->
<package name="demo3" extends="struts-default" namespace="/">
<action name="userFind" class="com.struts.demo3.UserAction" method="find"></action>
<action name="userUpdate" class="com.struts.demo3.UserAction" method="update"></action>
<action name="userDelete" class="com.struts.demo3.UserAction" method="delete"></action>
<action name="userSave" class="com.struts.demo3.UserAction" method="save"></action>
<!-- 通配符的方式 -->
<action name="product_*" class="com.struts.demo3.ProductAction" method="{1}"></action>
<!--
更抽象的写法:
<action name="*_*" class="xxx.{1}" method="{2}"></action>
-->
<!-- 动态方法访问的方式(默认是关闭的) -->
<action name="customer" class="com.struts.demo3.CustomerAction"></action>
</package>
</struts>
src下的struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!-- 配置Struts2的常量 -->
<constant name="struts.action.extendsion" value="action"></constant>
<include file="com/struts/demo3/strutsdemo3.xml"></include>
</struts>
jsp页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>Action的访问</h1>
<h3>通过method的访问</h3>
<a href="${pageContext.request.contextPath }/userFind.action">查询用户</a><br>
<a href="${pageContext.request.contextPath }/userUpdate.action">修改用户</a><br>
<a href="${pageContext.request.contextPath }/userDelete.action">删除用户</a><br>
<a href="${pageContext.request.contextPath }/userSave.action">保存用户</a><br>
<h3>通过通配符的方式</h3>
<a href="${pageContext.request.contextPath }/product_find.action">查询商品</a><br>
<a href="${pageContext.request.contextPath }/product_update.action">修改商品</a><br>
<a href="${pageContext.request.contextPath }/product_delete.action">删除商品</a><br>
<a href="${pageContext.request.contextPath }/product_save.action">保存商品</a><br>
<h3>通过动态方法的方式</h3>
<a href="${pageContext.request.contextPath }/customer!find.action">查询客户</a><br>
<a href="${pageContext.request.contextPath }/customer!update.action">修改客户</a><br>
<a href="${pageContext.request.contextPath }/customer!delete.action">删除客户</a><br>
<a href="${pageContext.request.contextPath }/customer!save.action">保存客户</a><br>
</body>
</html>