当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:15:00  来源:本站整理

用ActionForm一次得到表单全部参数[Java编程]

赞助商链接



  本文“用ActionForm一次得到表单全部参数[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

用过Jakarta Struts的兄弟都知道ActionForm的利用办法和她在Struts框架中所起的作用,但是您能否在为要给ActionForm编写一大堆setter和getter办法而感到厌倦和怠倦呢?的确,我是厌倦了,所以我要追求新的办法.我第一反映就是想利用Map接口,将全部的表单参数全部放进HashMap中,然后在Action中get出这个Map,并举行业务逻辑的操作.有了设法当然要去试验了,实践才是查验真理的唯一尺度.

首先要编写一个扩大ActionForm的类.代码以下(由于篇幅,我只列出了代码的关键部份):

12   package com.jacktan.struts.formbean;
34   import java.util.*;
5    import javax.servlet.http.*;
6    import org.apache.struts.action.*;
8    public class CustomForm extends ActionForm {
10    private Map formvalueMap = new HashMap();
12    public void setFormvalueMap(Map p_FormvalueMap){
14    this.formvalueMap = p_FormvalueMap;
15   }
16    public Map getFormvalueMap(){
18      return this.formvalueMap;
19   }
20    public void setFormvalue(String key,Object value){
22    formvalueMap.put(key,value);
23    }
24     public Object getFormvalue(String key){
26        return formvalueMap.get(key);
27    }
28   }

下面对上面的代码一一做注释:

第11行定义了一个HashMap类的实例变量,这个Map用于存放表单递交上来的参数值,作为键值对存在;

第13行的setFormvalueMap()办法用于设置实例变量formvalueMap;

第17行的getFormvalueMap()办法用于获得实例变量formvalueMap,这个办法将在Action类中调用,替换了从前在Action类中调用大量的(CustomForm)form.getXXX()办法;

第21行是关键的办法,setFormvalue()这个办法就是代替从前在ActionForm中大量的setXXX()办法,用于承受表单传奉上来的输入值.注意这个办法的参数,key是一个String范例的,用作Map的key,value是Object范例的,这个参数就是表示表单传送过来的各个输入值.

第25行是getFormvalue()办法,用于从Map中按照key返回一个value对象.

好了,ActionForm的任务完成了,不过离目标还有好大一段距离,目前只完成了三分之一的工作.我们持续干!

有了ActionForm接下来就是要编写Action类了,代码以下(由于篇幅,我只列出了代码的关键部份):

12   package com.jacktan.struts.action;
34   import java.util.*;
5    import javax.servlet.http.*;
6    import org.apache.struts.action.*;
8    import com.jacktan.struts.formbean.CustomForm
10   public class CustomAction extends Action {
12     public ActionForward execute(ActionMapping p_Mapping,
15         ActionForm p_Form,
16         HttpServletRequest p_Request,
17         HttpServletResponse p_Response) 
18      throws Exception{
21        Map formvalues =((CustomForm)p_Form).getFormvalueMap();
23          return p_Mapping.findForward("Success");
25      }
26   }


  以上是“用ActionForm一次得到表单全部参数[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 动态调用Action与Action中办法(一)
  • <b>动态调用Action与Action中办法(二)</b>
  • 用ActionForm一次得到表单全部参数
  • <b>在BCB中轻松利用ActiveX控件</b>
  • <b>Flash常用ActionScript掌握语句基本用法</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .