Struts2的Action的三种访问方式

创建一个jsp界面

<h1>method方法选择不同方法</h1>
	<a href="${pageContext.request.contextPath }/useradd.action">增加</a>
	<a href="${pageContext.request.contextPath }/userdelete.action">删除</a>
	<a href="${pageContext.request.contextPath }/userupdate.action">修改</a>
	<a href="${pageContext.request.contextPath }/userfind.action">查询</a>
<h1>通配符选择不同方法</h1>
	<a href="${pageContext.request.contextPath }/product_add.action">增加</a>
	<a href="${pageContext.request.contextPath }/product_delete.action">删除</a>
	<a href="${pageContext.request.contextPath }/product_update.action">修改</a>
	<a href="${pageContext.request.contextPath }/product_find.action">查询</a>
<h1>动态方法通访问选择不同方法</h1>
<a href="${pageContext.request.contextPath }/customer!add.action">增加</a>
<a href="${pageContext.request.contextPath }/customer!delete.action">删除</a>
<a href="${pageContext.request.contextPath }/customer!update.action">修改</a>
<a href="${pageContext.request.contextPath }/customer!find.action">查询</a>

method方法访问

建立一个Action

public class UserAction extends ActionSupport {
	public void add(){
		System.out.println("增加");
	}
	public void delete(){
		System.out.println("删除");
	}
	public void update(){
		System.out.println("改变");
	}
	public void find(){
		System.out.println("查询");
	}
}

配置文件struts.xml

<struts>
	<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
	<package name="demo3" extends="struts-default" namespace="/" >
		<!-- 通过method方法访问 -->
		<action name="useradd" class="cn.zhicheng.demo3.UserAction" method="add" >	</action>
		<action name="userdelete" class="cn.zhicheng.demo3.UserAction" method="delete">	</action>
		<action name="userupdate" class="cn.zhicheng.demo3.UserAction" method="update">	</action>
		<action name="userfind" class="cn.zhicheng.demo3.UserAction" method="find">	</action>
		<!-- 通过通配符访问 -->
		<action name="product_*" class="cn.zhicheng.demo3.ProductAction" method="{1}"></action>
		<!-- 通过动态方法访问 -->
		<action name="customer" class="cn.zhicheng.demo3.CustomerAction"></action>
	</package>
</struts>

通配符访问(开发常用)

public class ProductAction extends ActionSupport {
	public void add(){
		System.out.println("增加商品");
	}
	public void delete(){
		System.out.println("删除商品");
	}
	public void update(){
		System.out.println("改变商品");
	}
	public void find(){
		System.out.println("查询商品");
	}
}

配置文件struts.xml

<struts>
	<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
	<package name="demo3" extends="struts-default" namespace="/" >
		<!-- 通过method方法访问 -->
		<action name="useradd" class="cn.zhicheng.demo3.UserAction" method="add" >	</action>
		<action name="userdelete" class="cn.zhicheng.demo3.UserAction" method="delete">	</action>
		<action name="userupdate" class="cn.zhicheng.demo3.UserAction" method="update">	</action>
		<action name="userfind" class="cn.zhicheng.demo3.UserAction" method="find">	</action>
		<!-- 通过通配符访问 -->
		<action name="product_*" class="cn.zhicheng.demo3.ProductAction" method="{1}"></action>
		<!-- 通过动态方法访问 -->
		<action name="customer" class="cn.zhicheng.demo3.CustomerAction"></action>
	</package>
</struts>

动态代理

public class CustomerAction extends ActionSupport {
	public void add(){
		System.out.println("增加客户");
	}
	public void delete(){
		System.out.println("删除客户");
	}
	public void update(){
		System.out.println("改变客户");
	}
	public void find(){
		System.out.println("查询客户");
	}
}

配置文件struts.xml

<struts>
	//要用constant开始动态代理,默认是关闭的
	<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
	<package name="demo3" extends="struts-default" namespace="/" >
		<!-- 通过method方法访问 -->
		<action name="useradd" class="cn.zhicheng.demo3.UserAction" method="add" >	</action>
		<action name="userdelete" class="cn.zhicheng.demo3.UserAction" method="delete">	</action>
		<action name="userupdate" class="cn.zhicheng.demo3.UserAction" method="update">	</action>
		<action name="userfind" class="cn.zhicheng.demo3.UserAction" method="find">	</action>
		<!-- 通过通配符访问 -->
		<action name="product_*" class="cn.zhicheng.demo3.ProductAction" method="{1}"></action>
		<!-- 通过动态方法访问 -->
		<action name="customer" class="cn.zhicheng.demo3.CustomerAction"></action>
	</package>
	</struts>

猜你喜欢

转载自blog.csdn.net/weixin_40007271/article/details/86258879