struts的DispathAction

本文详细介绍了Struts框架中DispatchAction的实现原理及应用流程。从创建类文件到配置XML,再到网页链接设置,逐步解析如何利用DispatchAction简化Action处理。同时提及了模式匹配与ForwordAction的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对于StrutsDispathAction是对Action的一种瘦身方式。下面就针对其建立过程做一个简略的介绍。

1.       建立一个类文件,其中类文件继承DispatchAction

    public class AdminAction extends DispatchAction {

 

    public ActionForward add(ActionMapping mapping, ActionForm form,

           HttpServletRequest request, HttpServletResponse response)

           throws Exception {

       ……………..(在这里把前面的代码省去了)

       if(UserSessionServlet.isNotUserSession(request, response)){

       ld.addAdmin(DBConnection.getConn(),user);

       List userlist=ld.findAllUsers(DBConnection.getConn());

       request.setAttribute("userlist", userlist);

       return mapping.findForward("add_success");  //关键

       }else{

           return mapping.findForward("error");

       }

    }

   

    public ActionForward del(ActionMapping mapping, ActionForm form,

           HttpServletRequest request, HttpServletResponse response)

           throws Exception {

       ……………..(在这里把前面的代码省去了)

       if(UserSessionServlet.getsession()!=null){

       ld.delAdmin(DBConnection.getConn(), id);

       List userlist=ld.findAllUsers(DBConnection.getConn());

       request.setAttribute("userlist",userlist);

       return mapping.findForward("del_success");//关键

       }else

       {

           return mapping.findForward("error");

       }

    }

}

当然在这里也可以复写execute方法,但是注意一点的是复写的时候注意将其转向使用父类的转向。

public ActionForward execute(ActionMapping mapping, ActionForm form,

           HttpServletRequest request, HttpServletResponse response)

           throws Exception {

        //代码段

       return super.execute(mapping, form, request, response);

    }

2.       配置xml文件。

    <action path="/admin"

               type="bjsydx.test.action.AdminAction"

               name="loginForm"

               scope="request"

               parameter="command"

        >

        <forward name="add_success" path="/user/userlist.jsp"></forward>

        <forward name="del_success" path="/user/userlist.jsp"></forward>

        <forward name="error" path="/login/login.jsp"></forward>

        </action>

3.       在网页文件中写链接,这里就写一个举例。

<form action="../admin.do?command=add" method="post">

注意admin为配置文件中的path对应的值,后面接的commandparameter的值,addDispatchAction中对应的方法。

4.       下面就是运行了。

 

还有一个就是struts的模式匹配。这个是针对按照某种规范编码时,采用的一种模式匹配方式。{0}表示带上前面的虚拟路径,{1}表示不带,因此写路径的时候需要依情况而定,这里不做具体的介绍。是时候看下正则表达式了,听其名而未闻其详啊。上次一个网络实习的单位还说需要用到正则表达式,看来是需要点时间琢磨下了。

 

 

还有一个是ForwordAction,这个不难,上网搜一下就成,不做介绍了。互联网就是老师,嘿嘿。给大爷笑一个!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值