使用DispatchAction类,为系统减肥!

使用DispatchAction类,为系统减肥!

Struts中你要尽可能的不用Action类,因为他们让你的项目变得臃肿,你可以使用org.apache.struts.actions.DispatchAction类来完成业务逻辑所需要的相关操作集中到一个Action类中,在继承DispatchAction后,你不再是重新定义execute()方法,而是编写你自己的业务方法,execute()方法在DispatchAction抽象类定义。

例如我们可以继承DispatchAction来定义一个AccountAction,在当中集中管理一些与账号相关的操作,如下:

package com.fasttalk;
                                                                               
import javax.servlet.http.*;
import org.apache.struts.action.*;
import org.apache.struts.actions.*;
                                                                                
public class AccountAction extends DispatchAction {
    public ActionForward login(ActionMapping mapping,
                              ActionForm form,
                              HttpServletRequest request,
                              HttpServletResponse response)
    throws Exception {
        // login
相关的操作

        ......
    }
                                                                               
    public ActionForward logout(ActionMapping mapping,
                                ActionForm form,
                                HttpServletRequest request,
                                HttpServletResponse response)
    throws Exception {
        // logout
相关的操作
        ......
    }

    public ActionForward method1(ActionMapping mapping,
                                ActionForm form,
                                HttpServletRequest request,
                                HttpServletResponse response)
    throws Exception {
        // method1
相关的操作
        ......
    }

    .....
}
我们不再重新定义execute()方法,而是定义我们自己的login()logout()等方法,
这些方法接收与execute()相同的参数,并且也传回ActionForward对象。

使用DispatchAction时,我们要在struts-config.xml定义:
       <ACTION
            path="/account"
            type="com.fasttalk.AccountAction"
            parameter="method"
            name="userForm">
            <FORWAR< span>

                
使用方法:
通过参数method= method1 来选择函数
<%
String dest = " account.do?method= method1";
response.sendRedirect(dest);
%>
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值