`
esffor
  • 浏览: 1370624 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用LookupDispatchAction类犯的错误

阅读更多
    今天使用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>


分享到:
评论

相关推荐

    LookupDispatchAction 是使用方法

    默认情况下,Struts1的动作类只有一个`execute()`方法,但使用`LookupDispatchAction`时,可以定义多个处理特定请求的方法,每个方法对应一个特定的请求参数。 二、配置与使用 1. 配置struts-config.xml 首先,需要...

    Struts(二)List_Map_LookupDispatchAction_Validate

    3. **List和Map**: 在描述中提到的`List_Map_LookupDispatchAction_Validate`可能是指在处理请求时,LookupDispatchAction使用List和Map来组织和存储数据。List是一个有序的集合,可以按索引访问,适合存储一系列...

    DispatchAction、LookupDispatchAction、SwitchAction的应用

    为了使用 **DispatchAction**,首先需要继承该类并实现具体的业务逻辑方法。例如: ```java import org.apache.struts.actions.DispatchAction; public class ArticleAction extends DispatchAction { /** * ...

    struts LookupdispathAction类使用实例

    Struts LookupDispatchAction 类是Apache Struts 框架中的一种高级控制器,它扩展了`DispatchAction`类,提供了一种更加灵活的方式来处理请求映射。在 Struts 框架中,Action 是业务逻辑的核心组件,负责接收HTTP...

    基于JAVA SMART系统-系统框架设计与开发(源代码+论文).zip

    其中的LookupDispatchAction类是允许你指定一个具有多个方法的类,每一个方法的调用都基于配置文件中指定的一个特殊请求参数值,利用该参数值反向查询资源绑定,并将它与类中的一个方法进行匹配。从这些功能可以看出...

    LookUpDispachAction的用法详解

    下面将详细介绍LookUpDispatchAction的使用方法以及其在Struts应用中的重要性。 首先,让我们理解LookUpDispatchAction的核心概念。通常,一个Action类对应一个或多个业务逻辑方法,每个方法处理特定的用户请求。...

    J2EE_高级Action

    在Web开发中,特别是使用Struts框架时,经常会遇到一个问题:当一个简单的组件(如购物车)需要执行多种操作(如添加商品、删除商品、修改商品数量等),而Struts的`Action`类通常只有一个`execute`方法时,如何设计...

    struts2.0之action

    Struts 2.0还提供了一种方式来改变默认调用的方法,这类似于Struts 1.x的`LookupDispatchAction`。在`struts.xml`中,可以直接指定Action的执行方法,例如: ```xml &lt;result name="success"&gt;/HelloWorld.jsp ...

    java处理一个form多个submit

    在 Struts1 中,使用 LookupDispatchAction 动作可以处理含有多个 submit 的 form。但是,这种方式需要访问属性文件,还需要映射,比较麻烦。从 Struts1.2.9 开始,加入了 EventDispatchAction 动作,该类可以通过 ...

    struts教程

    - **LookupDispatchAction**: - 类似于`DispatchAction`,但支持通过查找(lookup)来确定要执行的方法。 #### 十、Struts之Tiles - **Tiles概述**: - 是Struts的一个扩展插件,用于管理Web应用中的布局和模板...

    struts 1的标签的用法详细

    8. JSP页面使用Struts标签显示数据或进行其他操作。 ### 二、控制器组件 #### 1. struts-config.xml 这是Struts的核心配置文件,定义了Action、ActionForm、ActionMapping等元素,用于指导请求处理和视图渲染。 #...

    EventDispatchAction类处理一个form多个submit

    与`LookupDispatchAction`相比,它的使用更为便捷,无需与属性文件关联,也不需要手动在`getKeyMethodMap`方法中进行key和Action方法的映射。 #### 三、EventDispatchAction的工作原理 `EventDispatchAction`通过`...

    Struts2教程:处理一个form多个submit.doc

    在处理一个表单(form)中存在多个submit按钮的情况时,Struts2提供了一种优雅的方式来区分用户点击了哪个按钮,而无需像Struts1那样使用额外的动作类(如LookupDispatchAction或EventDispatchAction)。 在传统的...

    struts2学习笔记

    尽管如此,为了利用Struts2提供的便利性,如内置的错误处理、本地化支持和验证机制,开发者通常会选择继承`com.opensymphony.xwork2.ActionSupport`类。这个类已经实现了多个接口,包括`...

    整合Struts_Hibernate_Spring应用开发详解

    - **使用LookupDispatchAction:** 支持根据请求参数动态选择Action执行。 - **使用ForwardAction:** 实现简单的页面转发。 - **使用IncludeAction:** 实现页面包含。 - **使用SwitchAction:** 基于条件选择...

    struts1.x技术课程讲解.pdf

    - **LookUpDispatchAction**:与 DispatchAction 类似,但更灵活,可以动态地确定方法名。 2. **ActionServlet**:Struts1.x 的核心组件,负责初始化框架、接收 HTTP 请求并将请求分发给相应的 Action 类处理。 3. ...

    轻量级J2EE企业应用实战——Struts+Spring+Hibernate整合开发 源码第二部分

    `DispatchAction`和`LookupDispatchAction`是Struts中的特殊动作,前者允许基于请求参数来调用不同的方法,后者则是在`DispatchAction`基础上进一步细化,根据请求的参数值查找并执行相应的方法。 `DynaActionForm`...

    Struts开发指南03

    如果验证失败,ActionForm会收集错误信息,以ActionError的形式存储,并将请求重定向回输入页面,显示错误提示。如果验证成功,ActionForm的数据将被传递给Action。 Action是实际执行业务逻辑的对象,每个Action...

    struts1.x和mysql整合的登陆例子

    在这个例子中,可能会使用`LookupDispatchAction`,这是一个特殊类型的Action,它允许根据用户提交的按钮值(submit标签的name属性)来调用不同的业务方法。 在用户界面设计中,静态验证是先于服务器端验证的一步,...

Global site tag (gtag.js) - Google Analytics