学习笔记

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 阅读(210) 评论(0)  编辑  收藏


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


网站导航: