JAVA 如何把request请求的参数,快速放到model对象中
因为项目需要,需要从request中读取大量的参数。
因为本人过懒,所以写了个方法把request参数,直接放到对应的类中。
参数
String str="aa,bb,cc";
ParameterUtil util = new ParameterUtil();
XXX model = util.getPara(request, str, XXX.class);
XXX model类
下面是具体的实现类
public <T>T getPara(HttpServletRequest request,String para, Class<T> modelclass) throws BusinessException{
Field[] fields = modelclass.getDeclaredFields();
List<Field> lst = new ArrayList<Field>();
for(Field field : fields) {
if(!Modifier.isStatic(field.getModifiers())){
lst.add(field);
}
}
String[] array = para.split(",");
T o = null;
try {
o = modelclass.newInstance();
for(Field f:lst){
PropertyDescriptor pd = new PropertyDescriptor(f.getName(), modelclass);
Method w = pd.getWriteMethod();
for(String single:array){
if(f.getName().toLowerCase().equals(single.replace("_", ""))){
String value = request.getParameter(single);
if(this.cpf !=null){
boolean isok = this.cpf.pro(single, value);
if(!isok){
new BusinessException(String.valueOf(ErrorCode.sys_008.getCode()));
}
}
if(f.getType() == Integer.class){
w.invoke(o,Integer.valueOf(value));
}else if(f.getType() == Long.class){
w.invoke(o,Long.valueOf(value));
}else if(f.getType() == Boolean.class){
w.invoke(o,Boolean.valueOf(value));
}else if(f.getType() == String.class){
w.invoke(o,value);
}
}
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return o;
}
JAVA 如何把request请求的参数,快速放到model对象中的更多相关文章
- Java后端发出post请求带参数并接收返回的json
核心代码: 参数格式: “key1=value1&key2=value2” /*** sendUrl (远程请求的URL)* param (远程请求参数)* JSONObject ...
- java拦截器获取请求完整参数
public class OptLogAspect implements HandlerInterceptor { @Override public boolean preHandle(HttpSer ...
- python中快速删除实例对象中的所有属性
def DeleteObjectAllProperties(objectInstance): if not objectInstance: return listPro =[key for key i ...
- 怎样通过id属性快速从HTMLCollection对象中获取到目标元素节点
方法1: 直接使用id或name属性: 比如我想获取 id 为 img1 的图片元素节点, 则可以这样写: document.images.img1 如果没有对应节点, 则返回undefined; 方 ...
- springMVC中 request请求数据绑定到Controller入参 过程剖析
前言:Controller方法的参数类型可以是基本类型,也可以是封装后的普通Java类型.若这个普通Java类型没有声明任何注解,则意味着它的每一个属性都需要到Request中去查找对应的请求参数.众 ...
- 【Java EE 学习 69 上】【struts2】【paramsPrepareParamsStack拦截器栈解决model对象和属性赋值冲突问题】
昨天有同学问我问题,他告诉我他的Action中的一个属性明明提供了get/set方法,但是在方法中却获取不到表单中传递过来的值.代码如下(简化后的代码) public class UserAction ...
- JAVA基础之sql模糊匹配、外键以及jsp中include的用法
一.SQL模糊匹配 适用于对字符串进行模糊搜索 格式: 字段名 Like '%关键词%' % 表示这个位置可有任意个字符(没有也可以) %关键词% 只要包含关键词就算 ...
- Java中request请求之 - 带文件上传的form表单
常用系统开发中总免不了显示图片,保存一些文件资料等操作. 这些操作的背后,就是程序员最熟悉的 enctype="multipart/form-data"类型的表单. 说起file类 ...
- 【springmvc Request】 springmvc请求接收参数的几种方法
通过@PathVariabl注解获取路径中传递参数 转载请注明出处:springmvc请求接收参数的几种方法 代码下载地址:http://www.zuida@ima@com/share/1751862 ...
随机推荐
- JS中parseInt()、Numer()深度解析
JS中字符串转换为数字有两种方式: 1.parseInt函数 定义:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/ ...
- Java学习路线图,专为新手定制的Java学习计划建议
怎么学习Java,这是很多新手经常会问我的问题,现在我简单描述下一个Java初学者到就业要学到的一些东西: 首先要明白Java体系设计到得三个方面:J2SE,J2EE,J2ME(KJAVA).J ...
- iOS runtime 知识点整理
// ------ 动态创建类, 添加成员变量, 赋值并调用动态添加的方法 ------- @implementation ViewController - (void)viewDidLoad { [ ...
- svn使用
1 svn地址: svn://www.svn999.com/annie123.test12345 2 svn 账户: 账户使用时期:项目checkout时期 会提示键入用户名密码 3 新增文件 (1) ...
- Netscape HTTP Cooke File Parser In PHP
http://www.hashbangcode.com/blog/netscape-http-cooke-file-parser-php I recently needed to create a f ...
- 大数据运算模型 MapReduce 原理
大数据运算模型 MapReduce 原理 2016-01-24 杜亦舒 MapReduce 是一个大数据集合的并行运算模型,由google提出,现在流行的hadoop中也使用了MapReduce作为计 ...
- c语言的continue
continue 是跳过此次循环的剩下部分,直接进入下个循环.
- SAP 设置屏幕字段的隐藏、显示、必填和可选,以设置物料组为例
1.事务码MM01,把物料组设为选填字段. 2.找到物料组的屏幕字段. 3.在后台根据屏幕字段找到对应字段组.后台路径:后勤-常规—物料主数据—字段选择—给字段组分配字段.点击后面的箭头进入下一屏幕. ...
- 【转】 如何使用Valgrind memcheck工具进行C/C++的内存泄漏检测
系统编程中一个重要的方面就是有效地处理与内存相关的问题.你的工作越接近系统,你就需要面对越多的内存问题.有时这些问题非常琐碎,而更多时候它会演变成一个调试内存问题的恶梦.所以,在实践中会用到很多工具来 ...
- 根据条件动态拼接LinQ的where条件字串
var items1 = from c in customer == ? c.FirstName == == ? c.LastName == "BBB" : true) selec ...