学习笔记

Simple is beautiful.

导航

<2007年2月>
28293031123
45678910
11121314151617
18192021222324
25262728123
45678910

统计

公告

...

常用链接

留言簿(1)

随笔分类(2)

随笔档案(56)

Weblog

搜索

最新评论

评论排行榜

使用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">
使用方法:
通过参数method= method1 来选择函数

<%
      String dest = " account.do?method= method1";
   response.sendRedirect(dest);

%>

posted on 2007-02-18 18:24 Ecko 阅读(168) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: