创建一个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>