用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编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |