BeanUtils.populate方法的作用

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


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


相关推荐

  • error lnk2019无法解析的外部符号WinMain_计算机二级c语言2019

    error lnk2019无法解析的外部符号WinMain_计算机二级c语言2019我收到了以下错误消息:错误1错误LNK2019:未解析的外部符号“public:void__thiscallArrayIntStorage::sortOwn(void)”(?sortOwn@ArrayIntStorage@@QAEXXZ)在函数_mainG中引用:\08227\ACW\MAIN\08227_ACW2_Test_Harnesses_2010-11\…

    2022年9月26日
  • unity3d官网下载安装教程_3D怎么安装

    unity3d官网下载安装教程_3D怎么安装入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。一、官网下载链接https://unity3d.com/cn/但是可能是因为我没翻墙,所以我根本没办法进入这个网页二、Unity3D中国官网下载但是天无绝人之路嘛可不是,让我找到了这么个大宝贝Unity所有版本下载|Unity中国官网点进链接后往下翻然后根据提示进行一些注册和登录,就可以选择你想要的版本进行下载啦三、Unity3D安装教程这里我选择.

    2022年9月18日
  • 初探ASP NET MVC Web Application

    初探ASP NET MVC Web Application1.使用VisualStudio2008,下载ASP.NETMVCFramework2.默认的ASP.NETMVCProject包括6个目录Controls–放置Controller类,处理URL请求。Models–放置业务实体类,表示和操作数据。Views–放置UI模板文件,负责展示输出结果。(MVC主要的目录)Scripts–放置Javascr

    2022年7月21日
  • ccs软件的使用(靠谱挣钱的app软件)

    1.使用CCS3.3编译TI的28335,产生如下警告:warning:entry-pointsymbolotherthan”_c_int00″specified: “code_start”一种解决方法,不用管它,因为C入口地址最终是由用户的CMD文件覆盖的,警告不影响使用。二是,在编译选项里面link标签页,把CodeEntryPoint(-e)编辑框

    2022年4月15日
  • 【Python】Ubuntu修改默认Python版本

    【Python】Ubuntu修改默认Python版本查看Python版本先查看系统中有那些Python版本$ls/usr/bin/python*/usr/bin/python/usr/bin/python2-config/usr/bin/python3m/usr/bin/python2/usr/bin/python3/usr/bin/python-config/usr/bin

    2022年5月27日
  • 代码生成器修改备注名_王者荣耀名字代码生成器

    代码生成器修改备注名_王者荣耀名字代码生成器1.model层生成时主键的字段是int32?2.Pcip_Msg中的IsAllClinics本是tinyintnotnull,但转成后是Byte?应该去?才对的.3.应能适应网络及本地中的有错数据库

    2022年7月28日

发表回复

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

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