Struts2之Action处理多个方法总结

     在我们Struts2的请求中,一般都是前台提交请求到Action接收,但是以前的提交方式基本上都是一个请求对应一个Action,虽然这样职能单一了,但是问题却出来了,就比如我要开发一个系统,业务功能非常的多,非常的复杂,就一个用户模块就至少有4个请求,增删改查,如果再加上按条件进行查询等等,不知道得需要多少请求,这么多的请求则会对应着这么多的Action,这样我们开发的系统不知道要有多少东西,更不利于维护。所以为了方便起见,我们采取措施将一个模块的请求放到一块,这样Action类也减少了,也方便便于维护。要将好几个请求放到一个Action中,有好3种方法,具体如下:
        首先编写公共UserAction,如下:
public class UserAction extends ActionSupport {
    private User user;
      //get、set方法省略...

    public String addUser() throws Exception {  
        System.out.println( "UserAction.addUser" );
        return SUCCESS;
    }
    public String modifyUser() throws Exception {  
        System.out.println( "UserAction.modifyUser" );
        return SUCCESS;
    }
public String delUser() throws Exception {  
        System.out.println( "UserAction.delUser" );
        return SUCCESS;
    }
}
第一种:在配置文件(struts.xml)中配置相同的Action类,但是需要使用方法进行区分,具体如下:
   <action name="" class="com.tgb.UserAction" method="addUser()">
        <result name="success">/success.jsp</result>
    </action>
    <action name="" class="com.tgb.UserAction" method="modifyUser()">
        <result name="success">/success.jsp</result>
    </action>
    <action name="" class="com.tgb.UserAction" method="delUser()">
        <result name="success">/success.jsp</result>
   </action>

第二种: 一个Action处理多个请求,但得需要提交请求的时候带上方法名,例如:user/userManager!addUser。具体如下:
      1、配置文件中不用变动,照常如下:
    <action name="user" class="com.tgb.UserAction" >
        <result name="success">/success.jsp</result>
          <result name="success">/error.jsp</result>
   </action>  
    2、页面提交的时候,其URL地址需要变动一下,如:/user!addUser.action

第三种:需要参数配置,具体如下:
         1、页面提交地址需要改动:
                    function  addUser(){
            var myForm=document.forms[0];
            myForm.action="user/addUser";
            myForm.submit();
        }   
         2、配置文件中则需要配置接收参数的形式,如下:
          <action name="*User" class="com.tgb.UserAction" method="{1}User()">
        <result name="success">/success.jsp</result>
          <result name="success">/error.jsp</result>
   </action>
   
    总结:Struts2提交方式无非就这几种,只要熟知一下,看看知道有这几种形式,等用的时候直接找就好了,俗话说不怕不知道,就怕不知道。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值