码迷,mamicode.com
首页 > 其他好文 > 详细

将request中的参数转换成bean的万能工具类

时间:2018-02-12 20:05:00      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:ogg   ret   完全   数据类型   拷贝   utils   apache   引用数据类型   数据转换   

package cn.itcast.utils; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.apache.commons.beanutils.BeanUtils; /** * WebUtils工具类: * 1. 作用: * 用servlet获取表单提交的信息,将表单信息保存在一个bean中 * 2. 知识点: * 泛型和反射 * BeanUtils工具: * 1. 导包: * * commons-beanutils-1.9.2.jar * * commons-logging.jar * 2. 功能: * BeanUtils主要是用于将对象的属性封装到对象中。 * 3. 优点: * 从配置文件或表单中读到的数据都是String类型,可以不用是管什么样的数据类型直接使用BeanUtils的setProperty方法实现自动的数据类型转换 * 4. 使用: * * BeanUtils.setProperty(bean, name, value); * 其中bean是指你将要设置的对象,name指的是将要设置的属性(写成”属性名”),value(从配置文件中读取到到的字符串值). * * BeanUtils.copyProperties(bean, name, value),和上面的方法是完全一样的,使用哪个都可以. * * ConvertUtils.register(Converter converter , ..), * 当需要将String数据转换成引用数据类型(自定义数据类型时),需要使用此方法实现转换。 * * BeanUtils.populate(bean,Map),其中Map中的key必须与目标对象中的属性名相同,否则不能实现拷贝. * * BeanUtils.copyProperties(newObject,oldObject),实现对象的拷贝 * * @author 国真 * */ public class WebUtils { public static <T> T request2Bean(HttpServletRequest request,Class<T> beanClass){ try{ //实例化传进来的类型 T t = beanClass.newInstance(); //之前使用request.getParameter("name")根据表单中的name值获取value值 //request.getParameterMap()方法不需要参数,返回结果为Map<String,String[]>,也是通过前台表单中的name值进行获取 Map map = request.getParameterMap(); //将Map中的值设入bean中,其中Map中的key必须与目标对象中的属性名相同,否则不能实现拷贝 BeanUtils.populate(t, map); return t; }catch (Exception e) { throw new RuntimeException(e); } } }

将request中的参数转换成bean的万能工具类

标签:ogg   ret   完全   数据类型   拷贝   utils   apache   引用数据类型   数据转换   

原文地址:http://blog.51cto.com/13416247/2071415

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!