Struts1.x系列教程(19):LookupDispatchAction类处理一个form多个submit

本文为原创,如需转载,请注明作者和出处,谢谢!

上一篇:Struts1.x系列教程(18):使用DispatchAction类调用多个Action方法  

    有时在HTML form中需要提供多个提交按钮,这时LookupDispatchAction类就派上用场了。LookupDispatchAction是DispatchAction的子类,用于处理客户端代码中有一个Form含有多个提交按钮的情况。为了使用LookupDispatchAction,首先来编写客户端代码,代码如下:

<html:form action="myaction">
     
   
<html:submit property="action">
       
<bean:message key="submit.print" />
   
</html:submit>
   
<html:submit property="action">
       
<bean:message key="submit.save" />
   
</html:submit>
</html:form>

其中submit.printsubmit.save是属性文件中的keyaction实际上是提交按钮的name属性值。在提交时,会将property<bean:message key="..." />作为请求参数和参数值传给Struts动作。如save按钮被单击时,请求URLhttp://localhost:8080/.../myaction.do?action=save。其中savesubmit.save在属性文件中对应的属性值,也就是说submit.save = save

    接下来我们编写一个LookupDispatchAction的子类,代码如下:

package action;
import org.apache.struts.actions.LookupDispatchAction;
 
  
public class MyLookupDispatchAction extends LookupDispatchAction
  {
      
//  为了方便描述,在这里未使用属性文件,只是直接将key和value的映射添加到Map对象中
      
//  读者可以在getKeyMethodMap方法中从属性文件中读取相应的key-value对
      
//  来添加到Map对象中
      protected Map getKeyMethodMap()
      {
          Map m 
= new HashMap();
          m.put(
"submit.print""print");
          m.put(
"submit.save""save");
          
return m;
      }
      
public ActionForward print (ActionMapping mapping, ActionForm form,
              HttpServletRequest request, HttpServletResponse response)
      {
          
// 处理print代码
      } 
      
public ActionForward save(ActionMapping mapping, ActionForm form,
              HttpServletRequest request, HttpServletResponse response)
      {
          
// 处理save代码
      } 
  }

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

<action path="/moresubmit" type="action.MyLookupDispatchAction" parameter="action" />

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

下一篇:
Struts1.x系列教程(20):使用EventDispatchAction类处理一个form多个submit



国内最棒的Google Android技术社区(eoeandroid),欢迎访问!

《银河系列原创教程》发布

《Java Web开发速学宝典》出版,欢迎定购

posted on 2009-02-23 21:34 银河使者 阅读(1448) 评论(0)  编辑  收藏 所属分类: javaweb 原创struts1.x


专题:Android  iPad  jQuery  Chrome OS

博客园首页  IT新闻  知识库  学英语  Java程序员招聘
标题  
姓名  
主页
验证码 *  
内容(请不要发表任何与政治相关的内容)  
  登录      
每天10分钟,轻松学英语


网站导航:
 
<2009年2月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
1234567

导航

统计

公告

我的其他blog

http://nokiaguy.cnblogs.com
http://blog.csdn.net/nokiaguy

我的著作





正在读的书




常用链接

留言簿(31)

我参与的团队

随笔分类(662)

随笔档案(255)

文章分类(1)

文章档案(4)

相册

ADSL、3G查询

CSDN

eclipse

ibm

Java EE

Linux

Web

云服务

代理网站

关注的网站

喜欢的Blog

图书出版

开发工具

手机铃声

操作系统

数学

文件格式

源码资源

移动(Mobile)

编程语言

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜