使用dispatchAction简化对action的请求操作

struts-config:      
<action
             path="/hello"
             type="onlyfun.caterpillar.HelloAction">
             <forward
                 name="helloUser"
                 path="/WEB-INF/pages/hello.jsp"/>
</action>  
当我们提交一个do( hello.do)的请求的时候,就会呼叫我们所定义的action( onlyfun.caterpillar.HelloAction),直接进行请求转发,通过获取 forward name转发到我们所定义的 path中,每次都会执行一个forwardAction。
    请求转发的定义我们可以通过两种方法:
1、通过定义一个操作符(如opp),通过页面传递给action,如 http://localhost:8080/strutsapp/account.do?hello.do?opp=login&$其他参数$ ,然后在action中判断opp的操作:
String opp=getParameter("opp");
if(opp=" login"){
<!--定义操作-->
return mapping.findForward(" helloUser");
}
2、在struts中有自带的一个分发处理--dispatchAction:
在struts-config.xml中
 <action      path="/account"      type="onlyfun.caterpillar.AccountAction"      parameter="method"      name="userForm">     
<forward          name="greeting"          path="/WEB-INF/pages/greeting.jsp"/>  </action>
定义了一个参数parameter(在此定义为method
我们要实现登陆功能,在action中的定义函数Login():
public class AccountAction extends DispatchAction {    
    public ActionForward login(ActionMapping mapping,                              
    ActionForm form, HttpServletRequest request, HttpServletResponse response)          throws Exception {       
<!--login的操作-->
 ......    
}
调用login方法可以用
http://localhost:8080/strutsapp/account.do?method=login
总的来说,第二种方法更容易实现模块化管理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值