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

structs

阅读更多
LookupDispatchAction类处理一个form多个submit
有时在HTML form中需要提供多个提交按钮,这时LookupDispatchAction类就派上用场了。LookupDispatchAction是DispatchAction的子类,用于处理客户端代码中有一个Form含有多个提交按钮的情况。为了使用LookupDispatchAction,首先来编写客户端代码,代码如下:
<html:form action="/display.do">
    <html:submit property="a">
        <bean:message key="submit.s" />
    </html:submit>
    <html:submit property="c">
        <bean:message key="submit.b" />
    </html:submit>
</html:form>

其中submit.s和submit.b是属性文件中的key。action实际上是提交按钮的name属性值。在提交时,会将property和<bean:message key="..." />作为请求参数和参数值传给Struts动作。如按钮被单击时,请求URL为http://localhost:3333/.../display.do?action=XX。其中XX为submit.s在属性文件中对应的属性值,也就是说submit.s = XX。
submit.s是属性文件中的key。action实际上是提交按钮的name属性值。在提交时,会将property和<bean:message key="..." />作为请求参数和参数值传给Struts动作。如按钮被单击时,请求URL为http://localhost:3333/.../display.do?action=XX。其中xx为submit.s在属性文件中对应的属性值,也就是说submit.save = xx。
接下来我们编写一个LookupDispatchAction的子类,代码如下:
import org.apache.struts.actions.LookupDispatchAction;
  public class MyLookupDispatchAction extends LookupDispatchAction
  {
key和value的映射添加到Map对象中
读者可以在getKeyMethodMap方法中从属性文件中读取相应的key-value对来添加到Map对象中
     Map getKeyMethodMap()
      {
          Map m = new HashMap();
          m.put("submit.s", "a");
          m.put("submit.b", "b");
          return m;
      }
      public ActionForward a(ActionMapping mapping, ActionForm form,
              HttpServletRequest request, HttpServletResponse response)
      {
          // 处理a代码
      } 
      public ActionForward b(ActionMapping mapping, ActionForm form,
              HttpServletRequest request, HttpServletResponse response)
      {
          // 处理b代码
      } 
  }


在编写LookupDispatchAction的子类时要注意必须实现getKeyMethodMap方法,在这个方法中需要进行key和Action方法的映射。下面的代码用来配置MyLookupDispatchAction。

  <action path="/submit" type="zzz.MyLookupDispatchAction" parameter="action" />

   其中parameter属性指定了请求URL中由提交按钮生成的请求参数名。






分享到:
评论

相关推荐

    structs2基本jar包

    Structs2是一个流行的Java框架,主要用于构建Web应用和服务。它提供了强大的MVC(Model-View-Controller)架构支持,使得开发者能够更高效地组织和管理代码。"structs2基本jar包"是Structs2框架的核心组件,包含了...

    structs学习笔记(很详细,欢迎补充)

    在编程世界中,`structs` 是一个非常重要的概念,特别是在 C 和 C++ 这样的编程语言中。本文将深入探讨 structs 的基本概念、用法、以及如何通过它们来组织和管理数据。以下是对 `structs` 的详细解析: 1. **什么...

    structs2所需要的包

    在编程领域,`structs2`通常指的是一个与数据结构和对象封装相关的概念,尤其是在Go语言中。Go语言中的`struct`是一种复合数据类型,它允许我们将多个不同的数据类型组合成一个单一的类型。`structs2`可能是指对这种...

    Structs 一天速成三天进阶

    "Structs 一天速成三天进阶"的学习路径旨在帮助初学者快速掌握Struts的基本概念和使用方法,并在接下来的几天里深入理解其核心机制,进一步提升开发技能。 首先,了解Struts的基本原理是至关重要的。Struts框架的...

    structs2入门教程

    在IT领域,Structs2是一个广泛使用的Go语言框架,它为构建高效、可维护的Web应用程序提供了强大的支持。本入门教程旨在帮助初学者快速掌握Structs2的基本概念、使用方法和核心特性。以下是对Structs2及其相关知识点...

    structs2.3.1官方JAR包

    Structs2开发必用 structs2.3.1官方JAR包 structs2.3.1官方JAR包 structs2.3.1官方JAR包 structs2.3.1官方JAR包 structs2.3.1官方JAR包

    structs2.0框架总结

    Structs2.0框架是Apache软件基金会开发的一个用于构建企业级Web应用的MVC(Model-View-Controller)框架。这个框架的主要目标是提供一种更简单、更灵活的方式来设计和实现复杂的Web应用程序。以下是关于Structs2.0...

    Structs2.0框架搭建代码

    Structs2.0框架是基于Java开发的一个轻量级MVC框架,它的设计目标是简化Web应用的开发,提供一种模型驱动的方式,让开发者能够更高效地构建动态、数据驱动的Web应用程序。在这个"Structs2.0框架搭建代码"中,我们...

    Structs2 jar包

    Structs2是一个基于Java开发的轻量级框架,主要用于构建Web应用程序。这个jar包集合包含了Structs2框架的全部7个核心组件,适用于版本2.1。Structs2以其强大的MVC(Model-View-Controller)设计模式和丰富的插件支持...

    基于structs的login

    Structs(Struts)是Apache软件基金会开发的一个开源MVC(Model-View-Controller)框架,主要用于构建Java Web应用程序。这个“基于structs的login”项目显然关注的是使用Structs框架实现用户登录功能。在本篇文章中...

    structs2.1.6官方JAR包

    Structs2.1.6官方JAR包是一个关键的Java档案文件,用于提供Structs框架的特定版本2.1.6的功能。Structs是一个轻量级的、基于MVC(模型-视图-控制器)模式的Web应用开发框架,旨在简化Java Web应用程序的构建过程,...

    jsp自定义标签,structs2 JUNIT,structs2自定义拦截器

    本文将深入探讨三个核心概念:JSP自定义标签、Structs2框架以及JUnit测试,同时会提及Structs2中的自定义拦截器。 首先,JSP自定义标签是Java Web开发中的一种高级特性,它允许开发者创建自己的标签库,以提高代码...

    Structs2.0入门学习

    Structs2.0 是一款基于Java的开源MVC框架,它是Struts 1.x的升级版,提供了更强大和灵活的功能。本篇文章将深入探讨Structs2.0的基础知识,特别是其对OGNL(Object-Graph Navigation Language)的集成和使用。 首先...

    structs构架 图书管理系统

    在IT行业中,Structs构架是一种广泛应用于Web应用程序开发的开源框架,主要针对Java平台。本项目名为" structs构架 图书管理系统",是利用Structs框架构建的一个实用系统,旨在实现对图书信息的高效管理和展示。这个...

    Structs2 vs Servlet

    在Java Web开发中,Structs2和Servlet是两种常见的技术,它们都在构建MVC(Model-View-Controller)架构的应用程序中发挥着重要作用。这里我们将深入探讨Structs2与Servlet的差异,以及如何通过简单的入门程序来理解...

    基于Structs架构的网络日记

    Structs 是一个流行的Java Web开发框架,主要用于构建MVC(模型-视图-控制器)架构的应用程序。在本项目“基于Structs架构的网络日记”中,开发者利用Structs的强大功能,结合JavaServer Pages(JSP)技术,创建了一...

    structs2 jar包

    Structs2是一个流行的Java框架,主要用于构建Web应用程序。它提供了丰富的功能,使开发人员能够更高效、更便捷地创建复杂的业务逻辑和用户界面。在Java世界中,jar(Java Archive)文件是打包和分发库的标准方式,...

    structs-2.1.6-all

    在深入探讨"structs-2.1.6-all"这一主题前,我们首先需要了解其核心概念。“structs-2.1.6-all”通常指的是一个软件包或库的版本名称,具体而言,在IT领域中,它可能代表了一个用于处理结构化数据的工具集或者框架的...

    structs2拦截器实例计算action执行的时间

    Structs2是一个强大的Java Web框架,它提供了许多高级特性,如拦截器,用于增强应用程序的行为。拦截器在软件工程中是一种设计模式,它允许在调用目标方法之前或之后执行某些操作,例如日志记录、性能监控、事务管理...

Global site tag (gtag.js) - Google Analytics