使用LookupDispatchAction类犯的错误

本文介绍如何使用 Struts2 中的 LookupDispatchAction 实现不同按钮触发不同方法的功能。通过具体示例展示了 JSP 页面设置及 Action 类编写方法,并配置了 Struts-config.xml 文件。
    今天使用LookupDispatchAction时,由于编写的类继承LookupDispatchAction,同时也覆盖其execute()方法,结果导致自己编写的逻辑函数不起作用,把覆盖execute()方法的代码去掉即可实现同名按钮提交分别处理的效果,下面是代码:
 
JSP文件
 
<%@ page contentType="text/html; charset=GBK" %>
   
<%@ include file="taglib.jsp" %>
   
<html>
   
<head>
   
<title>
     jsp7
   
</title>
   
</head>
   
<body bgcolor="#ffffff">
     
<html:form action="/processCheckoutAction.do">
       
<html:text property="abc">
       
</html:text>
       
<html:submit property="action"><bean:message  
             key
="welcome.user"/></html:submit>
       
<html:submit property="action"><bean:message 
             key
="goodbye.user"/></html:submit>
     
</html:form>
   
</body>
   
</html>
 
扩展的LookupDispatchAction
public class ProcessCheckoutAction extends LookupDispatchAction {
    
    
protected Map getKeyMethodMap(){
        Map map
=new HashMap();
        map.put(
"welcome.user","saveorder");
        map.put(
"goodbye.user","checkout");
        
return map;
    }

    
public ActionForward saveorder(ActionMapping mapping, 
                                 ActionForm form,
                                 HttpServletRequest request,
                                 HttpServletResponse response)
{
        System.out.println(
"saveorder");
        
return (mapping.findForward("success1"));
    }

    
public ActionForward checkout(ActionMapping mapping, 
                                 ActionForm form,
                                 HttpServletRequest request,
                                 HttpServletResponse response)
{
        System.out.println(
"checkout");
        
return (mapping.findForward("success2"));
    }

}

Struts-config.xml相应的配置

 

<action name="untitled2ActionForm" parameter="action"  
 path
="/processCheckoutAction" scope="request" 
 type
="test.ProcessCheckoutAction" validate="true">
      
<forward name="success1" path="/jsp5.jsp" />
      
<forward name="success2" path="/jsp6.jsp" />
 
</action>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值