《包装Request请求参数的工具类WebUtil》由会员分享,可在线阅读,更多相关《包装Request请求参数的工具类WebUtil(2页珍藏版)》请在金锄头文库上搜索。
1、Web 开发中一个很频繁的操作就是从 Request 中取得客户端传递过来的参数信息,然后 Servlet(或是 struts 的 Action,SpringMVC 的 Controller)接收这些参数,调用 Service 层完成业务逻辑操作,为了避免出现太多的 Request.getParameter(),我们可以模仿 struts 的 FormBean 自己写一个收集参数的工具类,不求有多强大,但求实用。下面贴出 的这段代码,FormBean 中的属性支持基本类型和基本类型的数组,没有做自定义类型, 不是不能做,而是我觉得 WEB 层更面向数据一些反而更好操作(Service 层倒是可
2、以更面 向对象一些)package org.qxh.util;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Map;import javax.servlet.http.HttpServletRequest;import mons.beanutils.BeanUtils;import mons.beanutils.ConvertUtils;import mons.beanutils.Converter;/* eg: ?id=1Map
3、map = request.getParameterMap();ConvertUtils.register(new Converter()public Object convert(Class type, Object value) if(value=null)return null;String str = (String) value).trim();if(str.trim().equals(“)return null;Date d = null;SimpleDateFormat format = null;if(str.length()10)if(str.indexOf(“-“)0)fo
4、rmat = MyDateFormat.getFormat(“yyyy-MM-dd HH:mm:ss“); else format = MyDateFormat.getFormat(“yyyy/MM/dd HH:mm:ss“); else if(str.indexOf(“-“)0)format = MyDateFormat.getFormat(“yyyy-MM-dd“); else format = MyDateFormat.getFormat(“yyyy/MM/dd“);try d = format.parse(str); catch (ParseException e) throw new RuntimeException(e);return d;, Date.class);BeanUtils.populate(bean, map); return bean;catch (Exception e) throw new RuntimeException(e);