二、分派Action

一、普通的Action被调用,不管怎么被调用都是执行同一个函数execute(),而选择分派Action可以在一个action里写多个执行函数,然后通过(提交给xx.do的时候)传不同的参数(xx.do?xx=xx)来分别调用不同的执行函数。

1.新建一个web项目StrutsLogin

2.WEB-INF下新建login.jsp

<!-- 交给logins.do处理的时候还附带了一个参数信息flag=login -->
    <form action="logins.do?flag=login" method="post">
        u:<input type="text" name="name"><br/>
        p:<input type="password" name="password"><br/>
        <input type="submit" value="提交">
        <!-- 交给logins.do处理的时候还附带了一个参数信息flag=exit -->
        <button><a href="login.do?flag=exit">退出</a></button>
    </form>

 

3.com.actions包下新建DispatchAction.java,两个用来处理的函数名称分别为login和exit

package com.actions;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class DispatchAction extends org.apache.struts.actions.DispatchAction{
    
    public ActionForward login(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        // TODO Auto-generated method stub
        return mapping.findForward("login");
    }
    

    public ActionForward exit(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        // TODO Auto-generated method stub
        return mapping.findForward("exit");
    }
}

3.配置struts-config.xml

<struts-config>
    <form-beans>
        <form-bean name="userForm" type="com.forms.UserForm"></form-bean>
    </form-beans>
    <action-mappings>
        <action path="/logins" input="/WEB-INF/login.jsp" attribute="userForm" name="userForm" parameter="flag" scope="request" type="com.actions.DispatchAction">
            <forward name="login" path="/WEB-INF/ok.jsp"></forward>
            <forward name="exit" path="/WEB-INF/exit.jsp"></forward>
        </action>
        
    </action-mappings>
</struts-config>

 

转载于:https://www.cnblogs.com/myz666/p/8422528.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值