BeanUtils.populate方法的作用

BeanUtils.populate方法的作用一般来说,这个方法是在org.apache.commons.beanutils.BeanUtils包中的方法。该方法的函数原型为:BeanUtils.populate(Objectbean,Mapproperties)。这个方法会遍历map<key,value>中的key,如果bean中有这个属性,就把这个key对应的value值赋给bean的属性。具体使用方法,见…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一般来说,这个方法是在org.apache.commons.beanutils.BeanUtils包中的方法。

该方法的函数原型为:BeanUtils.populate( Object bean, Map properties )。这个方法会遍历map<key,value>中的key,如果bean中有这个属性,就把这个key对应的value值赋给bean的属性。

具体使用方法,见下面我写的一个用例:

部分代码如下:

public static <T> T request2Bean(HttpServletRequest request,Class<T>  beanClass){

try{

T bean = beanClass.newInstance();
//得到request里面所有数据
Map map = request.getParameterMap();
//map{name=aa,password=bb,birthday=1990-09-09}  bean(name=aa,password=dd,birthday=Date)

ConvertUtils.register(new Converter(){

public Object convert(Class type, Object value) {

if(value==null){

return null;
}
String str = (String) value;
if(str.trim().equals(“”)){

return null;
}

SimpleDateFormat df = new SimpleDateFormat(“yyyy-MM-dd”);
try {

return df.parse(str);
} catch (ParseException e) {

throw new RuntimeException(e);
}
}
}, Date.class);
BeanUtils.populate(bean, map);   
return bean;
}catch (Exception e) {

throw new RuntimeException(e);
}

}

BeanUtils.populate方法的作用

 

 

1处是beanUtils工具包中的一个方法,该方法用来转换类型,ConvertUtils.register函数支持8种基本类型与String自动转换。2.用来将前台jsp页面或者html页面的传过来的参数通过parameterMap封装在map集合中,通过映射,将页面的内容先使用request获得,然后将之转换为Map(通过request.parameterMap()),然后就可以使用BeanUtils.populate(Object bean, Map properties)方法将前台jsp或者html页面的数据属性映射到bean中,也就相当于将数据封装到bean中。随后,我们就可以通过bean.getXxx()方法来获取相应属性的值了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158749.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 海量数据处理思路「建议收藏」

    海量数据处理思路「建议收藏」海量数据处理思路海量数据处理海量数据,不能一次加载到内存中海量数据topK(最大和最小k个数),第k大,第k小的数海量数据判断一个整数是否存在其中海量数据找出不重复的数字找出A,B两个海量url文件中共同的url海量数据topK最大K使用最小堆,最小K使用最大堆,这里以最大K为例海量数据hash分块维护最小堆的K个数据的数据容器堆中数据是topK大的数据,堆顶的数据是第K大数据先将海量数据hash再取模m,分成m个小文件,hash(num)%m,也可以直接取模在

    2022年6月23日
    18
  • pandas fillna详解

    pandas fillna详解pandas中补全nan具体的参数Series.fillna(self,value=None,method=None,axis=None,inplace=False,limit=None,downcast=None,**kwargs)[source]参数: value:scalar,dict,Series,orDataFrameValuetouset…

    2022年8月12日
    4
  • 基于python opencv人脸识别的员工考勤系统

    基于python opencv人脸识别的员工考勤系统#@[TOC](基于pythonopencv人脸识别的员工考勤系统)WorkAttendanceSystem一个基于opencv人脸识别的员工考勤系统##工程简介写于2018/09/,python课设期间;##项目结构mainui.py是主界面,调用face_img_register.py和face_recognize_punchcard.py其中face_img_register…

    2022年5月2日
    38
  • toast弹窗的用法_vue弹出提示框

    toast弹窗的用法_vue弹出提示框效果图代码<!DOCTYPEhtml><htmllang=”en”> <head> <title>弹窗</title> <metacharset=”UTF-8″> <metaname=”viewport”content=”width=device-width,initial-sc…

    2022年9月25日
    0
  • VLAN作用概述_发挥三个作用是指哪三个作用

    VLAN作用概述_发挥三个作用是指哪三个作用VLAN作用

    2022年8月5日
    4
  • Xray基础使用介绍

    Xray基础使用介绍官方使用文档:https://docs.xray.cool/#xray简介xray是一款功能强大的安全评估工具,由多名经验丰富的一线安全从业者呕心打造而成,主要特性有:检测速度快。发包速度快;漏洞检测算法高效。支持范围广。大至OWASPTop10通用漏洞检测,小至各种CMS框架POC,均可以支持。代码质量高。编写代码的人员素质高,通过CodeReview、单元测试、集成测试等多层验证来提高代码可靠性。高级可定制。通过配置文件暴露了引擎的各种参数,通过修改配置文件可以极大的客

    2022年5月8日
    156

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号