/**
* 根据request给实体类设值
*
* @author 2011-1-14
* @param objClass
* @param request
* @return
*/
public static Object setBeanProperty(Class<?> objClass, HttpServletRequest request) {
Object obj = null;
try {
obj = objClass.newInstance();
Field[] fields = objClass.getDeclaredFields(); // 获取自定义字段
Class<?> fieldType; // 字段声明类型
String fieldName; // 字段名称
for (int i = 0; i < fields.length; i++) {
fieldName = fields[i].getName();
// 如果为空则跳过该字段
if (request.getParameter(fieldName) == null) {
continue;
}
fieldType = fields[i].getType(); // 表示字段的声明类型
fields[i].setAccessible(true); // 设置不检查该字段是否可访问
//根据字段不同的类型,转换数据
if (fieldType == int.class || fieldType == Integer.class) {
fields[i].set(obj, Integer.valueOf(request.getParameter(fieldName)));
} else if (fieldType == long.class || fieldType == Long.class) {
fields[i].set(obj, Long.valueOf(request.getParameter(fieldName)));
} else if (fieldType == float.class || fieldType == Float.class) {
fields[i].set(obj, Float.valueOf(request.getParameter(fieldName)));
} else if (fieldType == double.class || fieldType == Double.class) {
fields[i].set(obj, Double.valueOf(request.getParameter(fieldName)));
} else if (fieldType == boolean.class || fieldType == Boolean.class) {
fields[i].set(obj, Boolean.valueOf(request.getParameter(fieldName)));
} else if (fieldType == Date.class) {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
fields[i].set(obj,formatter.parse(request.getParameter(fieldName)));
} else if(fieldType == String.class){
fields[i].set(obj, request.getParameter(fieldName));
}else {
throw new Exception(fieldName + "字段未知类型:" + fieldType.toString());
}
}
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return obj;
}
分享到:
相关推荐
主要用于使用Request中的getParamterMap()方法生成一个实体类,其中还包括getParamterMap中字段的检查方法。详见内容!
通过枚举反向给实体类赋值工具类,减少表单提交时通过request.getParameter(name)方式获取提交值的重复操作
this.request = request; Map properties = request.getParameterMap(); Map returnMap = new HashMap(); Iterator entries = properties.entrySet().iterator(); Entry entry; String name = ""; String ...
比如数据库字段为user.id那么实体类会自动更新自当前实体类下面名为user类的内容;使用list包含对象可以一对多获取数据库信息;数据库使用对象必须加点;比如user.id,address.id;继承dispatchservlet可以更方便使用...
我们还是根据源码来寻找答案,仔细研究eladmin的官网对于异常处理的说明后,我们首先来看后端异常实体类ApiError 这个实体中主要封装三个信息 状态status,默认是400; timestamp,默认是当前的时间; String类型...
Entities/Response*.cs 用于反馈给发送人的信息实体(最终会转成XML),包括文本、新闻(图文)两类 Helpers/EntityHelper.cs 用于实体和XML之间的转换(由于其中有许多需要特殊处理的字段和类型,这里不能简单用...
Entities/Response*.cs 用于反馈给发送人的信息实体(最终会转成XML),包括文本、新闻(图文)两类 Helpers/EntityHelper.cs 用于实体和XML之间的转换(由于其中有许多需要特殊处理的字段和类型,这里不能简单用...
ly-item-interface:主要是对外暴露的API接口及相关实体类 ly-item-service:所有业务逻辑及内部使用接口 创建父工程ly-item ly-item-interface ly-item-service 依赖 启动器 application.yml 添加商品...
(3) 创建Product类(实体类),该类的每个成员变量对应表的一个字段。 (4) 创建ProdcutServlet类,处理用户查看商品的请求,调用ProductDao类中的查询方法,将查询结果保存在request属性中,转发到showProducts.jsp...
request 此对象封装了由WEB浏览器或其它客户端生成的HTTP请求的细节(参数,属性,头标和数据); request(用户请求期) ServletRequest的子类型 response 此对象封装了返回到HTTP客户端的输出,向页面作者提供...
Swagger(狂神说Java) ...七、实体类配置 八、测试 1.测试hello方法 2.测试user()方法 3.测试hello2方法 4.测试hello3方法 5.测试postt方法 5.1 直接传对象 5.2 添加@RequestBody注解,则前端传一个JSON对象 总结:
简介: ...FormRequest: 类似web端的form表单Request,支持内容格式application/x-www-form-urlencoded,Gson解析生成对应的泛型实体类。 GsonRequest:Json数据协议的Request,支持内容格式applicatio
此代码为工具类代码,可直接下载使用,调用此方法将需要排序的参数传入即可
那后台可以通过创建一个字段名称对应的实体类来接收 或者使用String name = request.getParameter("name")的方式来接收 3、如果ajax选择的GET方法,那后台方法的字段名称和url的入参名称保持一致就能接收到数据了 ...
继承实体类,可以引用实体类的所有私有属性。 " " " 3、设计/实习过程 "实体类代码如下: " "package com; " " " "public class Employee { " " " "private String name; " "private String title; " "private float...
3. 如何写自定义action,实体,以及业务类 141 (二) Struts2 153 1. struts2的拦截器定义以及使用 153 2. struts标签 160 3. Struts 2 标签库说明及使用 160 4. set 描述 169 5. text 描述 170 6. property 描述 170...
命令分为两类,Request 命令和 Response 命令,Request 命令以"_REQ" 结束,Response 命令以"_RESP"结束。例如:AUTH_REQ,UPDATE_PLAY_RESP。 命令的基本属性。命令有下面几个属性:会话 ID,序列号,状态码,状态...
8. 本人保证此贡献的代码为报表查询的核心代码,足以反映报表查询的基本思路,即接口请求和返回数据解析,解析为实体类。 9.核心代码类文件:BaseService.java、IJdCostManageService.java、JdCostManageServiceImpl...
拥有从Request里面拿实体属性值的工具类 具有实现了数字分页工具栏的分页的功能 可以通过多种方式分页 1,普通的上一页,下一页 2,下拉框 3,比较复杂的数字分页工具栏的分页 通用Hibernate Dao 最后真心话! ...
拥有从Request里面拿实体属性值的工具类 具有实现了数字分页工具栏的分页的功能 可以通过多种方式分页 1,普通的上一页,下一页 2,下拉框 3,比较复杂的数字分页工具栏的分页 通用Hibernate Dao 最后真心话! ...