内置的struts Action 类----DispatchAction

一、用途:通常在一个Action中只能完成一种业务操作,例如用户的增、删、改得放在三个Action 中,但是如果我想把这三个业务都放在一个Action中,想通过URL后跟参数来区分,即通过http://localhost:8080/proj/user.do?method=insert 表示增加
http://localhost:8080/proj/user.do?method=delete 表示删除
http://localhost:8080/proj/user.do?method=alter 表示修改
可见增、删、改是写在 path 为 user的 一个action 这个时候就用到的DispatchAction
二、使用方法
1、创建的 action 继承 DispatchAction
2、创建自己需要的方法,要和action中的execute有相同的参数个数和参数类型
如下例:一个action中有两个方法,add与sub, 它们都与execute有相同的参数个数和参数类型

public class Test1Action extends DispatchAction {

public ActionForward sub(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {

//SessionContainer a=this.getSessionContainer(request);
System.out.println("+++++++++sub++++++++++++");
return null;
}

public ActionForward add(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
System.out.println("+++++++++++add+++++++++++");
return null;
}
}

3、在struts.xml中进行配置

<action path="/test1"
type="com.qf.struts.action.Test1Action"
validate="false"
parameter="method" />

4、http://localhost:8080/test/test1.do?method=sub
http://localhost:8080/test/test1.do?method=add
分别测试
action的parameter属性决定了URL后跟的参数变量
三、找不到action的检查方法
1、首先检查action中的方法是否是那四个参数,以及是否 throws 了Exception
2、检查action的配置文件是否配置了parameter 属性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值