知识大全 使用EventDispatchAction类处理一个form多

Posted 属性

篇首语:学向勤中得,萤窗万卷书。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 使用EventDispatchAction类处理一个form多相关的知识,希望对你有一定的参考价值。

Struts1.x系列教程(20):使用EventDispatchAction类处理一个form多  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  虽然LookupDispatchAction类可以很好地处理拥有多个提交按钮的Form 但是必须要和属性文件相关联 而且还得在getKeyMethodMap方法中进行key和Action方法的映射 使用起来十分不方便 从Struts 开始 加入了另一个用于处理多个提交动作的EventDispatchAction类 这个类也是DispatchAction的子类 它在使用上要比LookupDispatchAction类容易的多 EventDispatchAction类的基本原理是通过<action>元素的parameter属性指定多个动作 中间用逗号( )分隔 每个动作实际上就是< submit>标签的property属性值 这样EventDispatchAction类就可以根据每个< submit>标签的属性值来确定用户按的是哪个提交按钮了

  我们可以按如下三步来使用EventDispatchAction类

  【第 步】实现EventDispatchAction的子类

  在<samples工程目录>\\src\\action目录中建立一个MyEventDispatchAction java文件 代码如下

     package action;  import java io PrintWriter;  import javax servlet *;  import  apache struts action *;  import  apache struts actions *;    public class MyEventDispatchAction extends EventDispatchAction               // 处理print动作      public ActionForward print(ActionMapping mapping  ActionForm form               HttpServletRequest request  HttpServletResponse response)                try                        response setCharacterEncoding( GBK );              PrintWriter out = response getWriter();                          out println( 打印成功! );                    catch (Exception e)                              return null;             // 处理save动作      public ActionForward save(ActionMapping mapping  ActionForm form               HttpServletRequest request  HttpServletResponse response)                try                        response setCharacterEncoding( GBK );              PrintWriter out = response getWriter();              out println( 保存成功! );                    catch (Exception e)                              return null;         

  在MyEventDispatchAction类中有两个方法 print和save 分别用来处理property属性值为 print 和 save 的< submit>标签提交的请求动作

  【第 步】配置EventDispatchAction类

  打开struts config xml文件 在 <action mappings>元素中加入如下的内容

   <action name =  firstValidatorForm  path= /event  type= action MyEventDispatchAction  validate= false  parameter= print save />

  【第 步】实现有多个提交按钮的JSP页面

  在Web根目录中建立一个moreSubmit jsp文件 代码如下

     <%@ page pageEncoding= GBK %>  <%@ taglib uri=  prefix= %>  <>    <head>      <title>多提交演示</title>    </head>    <body>                 <:form action= event  >         name <:text property= name  />&nbsp;&nbsp;<p>               <:submit property= print  value= 打印 />               <:submit property= save  value= 保存 />      </:form>      </body>   </>

  在编写moreSubmit jsp文件时要注意 打印 和 保存 按钮的property属性必须和<action>动作中的parameter参数值一致 也就是 print 和 save

  启动Tomcat后 在IE中输入如下的URL来测试程序

  

  为了区别提交请求参数和其他参数 在< submit>标签的property属性值还可以有一个后缀 x (<action>元素的parameter属性值仍然是 print save 如 打印 按钮的代码可以写成如下形式

cha138/Article/program/Java/ky/201311/28126

相关参考

知识大全 继承和finalize()

  通过合成方法创建新类时永远不必担心对那个类的成员对象的收尾工作每个成员都是一个独立的对象所以会得到正常的垃圾收集以及收尾处理——无论它是不是不自己某个类一个成员但在进行初始化的时候必须覆蓋衍生类中

知识大全 java里面如何创建一个内部类的实例?

  要想使用new生成一个内部类的实例需要先指向一个外部类的实例也就是先生成外部类的实例因为内部类可以调用外部类的人员成员当没有外部类实例的时候也就没有这些成员的内存空间内部类在实例化的时候调用外部类

发酵类抗生素废水处理技术

摘要:介绍了内蒙古某抗生素废水处理厂的处理工艺流程、处理单元类型及其详细设计参数,通过对该污水处理厂半年内运行效果的调研,分析评价该污水处理系统的处理效果及出水指标;该水厂工艺流程对COD、TOC、氨

发酵类抗生素废水处理技术

摘要:介绍了内蒙古某抗生素废水处理厂的处理工艺流程、处理单元类型及其详细设计参数,通过对该污水处理厂半年内运行效果的调研,分析评价该污水处理系统的处理效果及出水指标;该水厂工艺流程对COD、TOC、氨

发酵类抗生素废水处理技术

摘要:介绍了内蒙古某抗生素废水处理厂的处理工艺流程、处理单元类型及其详细设计参数,通过对该污水处理厂半年内运行效果的调研,分析评价该污水处理系统的处理效果及出水指标;该水厂工艺流程对COD、TOC、氨

铁-氧电池法预处理头孢类抗生素生产废水

头孢类抗生素生产废水成分复杂、生物毒性大、含有多种高浓度生物抑制物质。目前国内外处理这类废水主要采用好氧、厌氧或厌氧+好氧的生物处理方法。由于废水中含有大量的生物毒性物质,如直接采用上述的生物处理法,

铁-氧电池法预处理头孢类抗生素生产废水

头孢类抗生素生产废水成分复杂、生物毒性大、含有多种高浓度生物抑制物质。目前国内外处理这类废水主要采用好氧、厌氧或厌氧+好氧的生物处理方法。由于废水中含有大量的生物毒性物质,如直接采用上述的生物处理法,

铁-氧电池法预处理头孢类抗生素生产废水

头孢类抗生素生产废水成分复杂、生物毒性大、含有多种高浓度生物抑制物质。目前国内外处理这类废水主要采用好氧、厌氧或厌氧+好氧的生物处理方法。由于废水中含有大量的生物毒性物质,如直接采用上述的生物处理法,

含甲醇酯类废水处理方法

某精细化工厂产生的含甲醇高浓度酯类废水,虽然排放量较少,但其COD高达几十g/L,其主要成分为多种短链有机酯,但也含少量甲醇和部分含苯环有机物。根据以往的研究,对酯类废水的处理大多采用UASB法、氧化

含甲醇酯类废水处理方法

某精细化工厂产生的含甲醇高浓度酯类废水,虽然排放量较少,但其COD高达几十g/L,其主要成分为多种短链有机酯,但也含少量甲醇和部分含苯环有机物。根据以往的研究,对酯类废水的处理大多采用UASB法、氧化