BeanUtils--02--- 创建工具类 封装request 请求数据到实体类中

Posted 黑土白云

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BeanUtils--02--- 创建工具类 封装request 请求数据到实体类中相关的知识,希望对你有一定的参考价值。

1. 前台传过来的数据都是字符串, 基本类型BeanUtils会自动转换, 日期类型需要注册转换器,自带的DateLocalConvert转换器未实现空字符串""的判断

	public static <T> T  copy2Bean(HttpServletRequest request, Class<T> clazz) {
		ConvertUtils.register(new Converter() {//注册日期转换器
			public Object convert(Class type, Object value) {
				if(type != Date.class) return null;
				if(value != null || "".equals(value.toString().trim())) return null;
				
				try {
					return new SimpleDateFormat("yyyy-MM-dd").parse(value.toString());
				} catch (ParseException e) {
					throw new RuntimeException(e);
				}
			}
		}, clazz);
				
		try {
			T t = clazz.newInstance();//1.获取类型的对象
			//封装请求数据方式1, 推荐
			Map map = request.getParameterMap();
			BeanUtils.populate(t, map);
			//封装请求数据方式2
//			Enumeration headerNames = request.getParameterNames();
//			while(headerNames.hasMoreElements()){
//				String key = (String) headerNames.nextElement();
//				String value = request.getParameter(key);
//				BeanUtils.copyProperty(t, key, value);
//			}
			return t;		
		} catch (Exception e) {
			throw new RuntimeException(e);
		}
	}

  

以上是关于BeanUtils--02--- 创建工具类 封装request 请求数据到实体类中的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot实战:整合Redismybatis,封装RedisUtils工具类等(附源码)

Swift:简单封装一个工具类模板

Android 封装对话框工具类

MySQLDB类工具的封装

Java工具类怎么记

开发自己的框架——数据库工具类的封装