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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ubuntu安装rabbitvcs[通俗易懂]

    ubuntu安装rabbitvcs[通俗易懂]安装RabbitVCS的方法步骤如下:第一步:将rabbitvcs的添加到源里面。(次操作会提示是否要添加到源里面,点击ENTER添加,Ctrl+C不添加),这里选择ENTER方便更新。sudoadd-apt-repositoryppa:rabbitvcs/ppa第二步:根据第一步的情况来是否跳过该步骤,如果第一步出现导入key,那第二步可以跳过,否则需要导入keysudo

    2022年7月18日
    15
  • 黑客入门视频教程(共57个)全实战过程

    黑客入门视频教程(共57个)全实战过程黑客入门视频教程(共57个)全实战过程 01ping命令的使用http://images.enet.com.cn/eschool/wmv/ping.wmv02netstat命令的使用http://images.enet.com.cn/eschool/wmv/netstat.wmv03tasklist和taskkill的使用h…

    2022年5月29日
    22
  • 开心网外挂之争车位之发起比赛

    开心网外挂之争车位之发起比赛       publicvoidlalisai_KaiShiBiSai(stringid)       {           AccessHelperAH=newAccessHelper();           KaiXinHelperKH=newKaiXinHelper();           DataTabledt=AH.GetDataTable(“

    2025年9月16日
    7
  • 蒙特卡洛树搜索 MCTS 入门[通俗易懂]

    蒙特卡洛树搜索 MCTS 入门[通俗易懂]引言  你如果是第一次听到蒙特卡洛,可能会认为这是一个人名。那么你就大错特错,蒙特卡洛不是一个人名,而是一个地方,还一个赌场名!!!但是这不是我们的重点。  我们今天的主题就是入门蒙特卡洛树搜索,这个算法我个人觉得非常神奇也非常有意思。因为前几年AlphaGo就是借助蒙塔卡洛树搜索以及基于深度学习的的策略价值网络击败了人类冠军,赢得了胜利。而今天我们的主角就是蒙特卡洛树搜索它究竟是怎么实现的?它的原理?以及会举出一个例子来告诉大家整个算法的工作流程。一、什么是MCTS?  蒙特卡洛树搜索是一

    2022年6月15日
    119
  • awaiting production checklist_解题神器app

    awaiting production checklist_解题神器appA7——MissingFunctionalLevelAccessControl应用层访问控制缺失。DirectoryTraversal-Directorieslow未对输入的目录进行限制,可以访问任意目录。http://localhost/bwapp/directory_traversal_2.php?directory=documents/../../../…

    2022年9月23日
    3
  • linux设置定时关机命令,linux定时关机命令是什么?

    linux设置定时关机命令,linux定时关机命令是什么?linux定时关机命令是什么?在之前的教程中,我们分享了win7系统定时关机命令的使用方法,给网友们带来了不少的便利。也有网友使用的是Linux系统,因此,他们好奇:Linux系统的定时关机命令跟win7系统的一样吗?Linux系统定时关机的命令是什么?在今天的教程中,我们就简单了解一下同样的功能在linux下使用shutdown命令和在Windows下使用shutdown命令的不同。系统关机1….

    2022年5月14日
    49

发表回复

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

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