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);
		}
	}

  

时间: 2024-12-18 14:20:18

BeanUtils--02--- 创建工具类 封装request 请求数据到实体类中的相关文章

iOS开发之Socket通信实战--Request请求数据包编码模块

实际上在iOS很多应用开发中,大部分用的网络通信都是http/https协议,除非有特殊的需求会用到Socket网络协议进行网络数 据传输,这时候在iOS客户端就需要很好的第三方CocoaAsyncSocket来进行长连接连接和传输数据,该第三方地 址:https://github.com/robbiehanson/CocoaAsyncSocket,读者可以自行google或者baidu搜索 这个库的用法,网上有很多资料,而且用法不难. 在一些对Socket通信使用需求不是很高的应用中,比如需要

asp.net MVC中控制器获取表单form提交的数据之实体类数据

第一次写记录文章,难免有不足之处:欢迎指出. 1.新建一个mvc项目如: 2.新建一个Test.cs 注意get,set方法不能简写 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 using System; using System.Collections.Generic; using System.Linq; usi

struts2封装客户端请求数据(3种封装方式)

长话短说,直接进入主题. 1.属性驱动 action的属性名称必须和jsp输入项的name属性保持一致: 必须要在action类中提供该属性的set方法,但有时候会出错,为了保险起见,我们把get/set方法都写上: package com.tbamaw.web.action; import com.opensymphony.xwork2.ActionSupport; public class User2Action extends ActionSupport{ private static f

快速创建和mysql表对应的java domain实体类

今天创建了一个表有十几个字段,创建完之后必然要写一个与之对应的java domain实体类.这不是重复的工作吗?为什么不先把这个表的所有的字段查出来,然后放到linux环境下,用sed工具在每一行的前面加上"private String ",每一行的后面添加";".这样可以节省很多重复工作.下面上sql代码和sed命令. 查询一个mysql表所有列的列名的sql代码如下: SELECT COLUMN_NAME FROM information_schema.COLU

动态创建 script 实现跨域请求数据

动态创建script标签 (由事件触发) 在我们需要请求数据的时候我们就可以动态的创建 script 标签 src设置为我们需要请求数据的地址 另外我们可以附加参数 ?后面附加参数 例如 :?参数=1&callbacl=cb    我们还可以指定回调函数 回调函数就是我们在得到数据之后需要做什么处理 给这个函数传一个参数 即我们想要的数据 btn.onclick=function(){ var value = numbers.value; // 必须在点击事件之后获取 这样或取得才是当前的 值

使用工具自动生成hibernate的配置文件、实体类与连接数据库

注:图前文字是解释图中的内容. 一.导包 新建一个项目,将hibernate和mysql的jar包导入,放到项目中lib文件夹中,如果没有lib可以自己建一个. hibernate需导入的jar包位置:\hibernate-release-5.2.6.Final\lib\required\"复制粘贴里面所有的" 数据库的jar找到自己存储位置,位置粘贴 二.窗口--显示视图--打开Hibernate Configurations--在Hibernate Configurations的空

JSONArray数据转换为实体类

TableA.TableB 是根据json数据创建的实体类    建议将json数据放到json.cn 里面格式化 json-lib是一个java类库,提供将Java对象,包括beans, maps, collections, java arrays and XML等转换成JSON,或者反向转换的功能. import net.sf.json.*; import java.io.*; import java.net.MalformedURLException; import java.net.UR

[转]C#反射,根据反射将数据库查询数据和实体类绑定,并未实体类赋值

本文来自:http://www.cnblogs.com/mrchenzh/archive/2010/05/31/1747937.html /***************************************** * 说明:利用反射将数据库查询的内容自动绑定 *       到实体类 * * 时间:1:49 2009-9-19 * * 程序员:王文壮 * ***************************************/ /****************数据库脚本***

iOS 封装AFNetworking请求数据

#import "AFNetworking.h" + (void)GET:(NSString *)URLString parameters:(id)parameters success:(void (^)(id))success failure:(void (^)(NSError *))failure { // 创建请求管理者 AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager]; [m