BeanUtils工具

  大对数人习惯使用JavaBean的get和set方法来获取和设置JavaBean的属性,但是在Java EE编程的过程中,会经常从配置文件中读取数据,但是从配置文件中读取的数据都是String类型,但是程序并不是只有一种String类型,还有一些自定义的类型,因此,我们将字符串转为特定的数据类型,方法有两种:

  1.首先,判断需要的数据类型,然后对字符串调用相关的方法,将其转换为我们需要的数据类型。

  2.使用BeanUtils工具;

  第一种方法太过繁琐,使用第二种方法只需使用其中两个方法就,即可。

BeanUtils工具解决的主要问题:

  把对象的属性数据封装到对象中。

BeanUtils工具使用需要的包:

  1.commons-beanutils-1.9.2.jar;

  2.commons-logging-1.2.jar;

BeanUtils类发常用方法:

  static void populate(Object bean,Map<String,?exteds Object>properties):根据指定的名称/值对为相应的JavaBean属性设置属性值。

  static void setProperty(Object bean,String name,Object value): 设置指定的属性,传入的类型要求能转换为相应的类型

  static String getProperty(Object bean,String name):返回指定Bean指定属性的值,返回类型是String类型。

BeanUtils的实例:

  设置一个Person类:

package cn.it.gan.BeanUtilsDemo;

public class Person {
private String naem;
private int age; public Person() { } public Person(String naem, int age) {
super();
this.naem = naem;
this.age = age;
} public String getNaem() {
return naem;
} public void setNaem(String naem) {
this.naem = naem;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} }

  设置一个BeanUtilsDemo类测试BeanUtils工具

package cn.it.gan.BeanUtilsDemo;

import java.lang.reflect.InvocationTargetException;
import java.util.HashMap;
import java.util.Map; import org.apache.commons.beanutils.BeanUtils; public class BeanUtilsDemo {
public static void main(String[] args) throws Exception, InvocationTargetException {
Person p = new Person();
// 使用BeanUtils来为p赋值
BeanUtils.setProperty(p, "naem", "Jack");
BeanUtils.setProperty(p, "age", 29);
// 使用BeanUtils工具获得p的值
String name = BeanUtils.getProperty(p, "naem");
String age = BeanUtils.getProperty(p, "age");
System.out.println("姓名为:" + name + ", 年龄为:" + age); // 创建Map集合,用来存放属性
Map map = new HashMap<String, Object>();
map.put("naem", "张三");
map.put("age", 30);
// 使用populate()方法来设置属性
BeanUtils.populate(p, map);
System.out.println("姓名为:" + p.getNaem() + ", 年龄为:" + p.getAge()); } }

  运行结果:

注意:使用setProperty给赋值的话,少赋值一个属性的话是不会报错的,只会是null,多给一个没有的属性赋值的话也不会报错,只是不会赋值进去而已;

  使用map集合赋值时,要求Map的Key和JavaBean的属性名时一致的。

EL表达式和JSTL(二)——BeanUtils工具的更多相关文章

  1. [转]EL表达式和JSTL表达式实例

    /* **Title:EL表达式和JSTL表达式实例 **Author:Insun **Blog:http://yxmhero1989.blog.163.com/ */ 为了方便写JSP,我们引入了E ...

  2. 简述jsp之EL表达式和jstl及其使用

    Jsp的指令之include指令include指令:代表的是页面的包含. 作用:可以把一些jsp的页面包含在一起,对外展示. 页面的布局,现在已经不用了,现在都用css+div进行布局.include ...

  3. jsp EL表达式和JSTL标签if-else if-else用法

    java web javaEE ,jsp EL表达式和JSTL标签if-else if-else四种用法一.条件运算符 ${user.gender==?'男':'女'} 二.if() <c:if ...

  4. Javaweb学习笔记6—EL表达式与JSTL及自定义标签

    今天来讲javaweb的第六阶段学习. EL表达式与JSTL及自定义标签是对上篇文章介绍的JSP的扩展,不能说是很重要的东西,但是也要了解. 老规矩,首先先用一张思维导图来展现今天的博客内容. ps: ...

  5. EL表达式、JSTL

    EL表达式 一.简介 > JSP表达式 <%= %> 用于向页面中输出一个对象.        > 到JSP2.0时,在我们的页面中不允许出现 JSP表达式和 脚本片段.   ...

  6. (十)EL表达式和JSTL标签快速入门

    目录 什么是 el 表达式 示例:使用EL表达式获取pageContext .request.session.application域中的数据: 示例:使用EL表达式获取Bean属性 获取当前WEB应 ...

  7. EL&Filter&Listener:EL表达式和JSTL,Servlet规范中的过滤器,Servlet规范中的监听器,观察着设计模式,监听器的使用,综合案例学生管理系统

    EL&Filter&Listener-授课 1 EL表达式和JSTL 1.1 EL表达式 1.1.1 EL表达式介绍 *** EL(Expression Language):表达式语言 ...

  8. EL表达式与JSTL

    内容包括 EL表达式 EL函数库 JSTL 核心标签库 格式化标签库 SQL标签库 XML标签库 自定义标签库 EL表达式 EL是Expression Language的是缩写,是JSP页面编写的一种 ...

  9. Struts标签、Ognl表达式、el表达式、jstl标签库这四者之间的关系和各自作用

    我之前虽然会用,但是一直分不清彼此之间有什么区别,所以查找资料,将它们进行整合区分,加深了解, 一 介绍 1.Struts2的作用   Struts2标签库提供了主题.模板支持,极大地简化了视图页面的 ...

随机推荐

  1. java核心-JVM-gc面试题

    1.写一个memory leak的例子 public class MemonyLeak { //1.memoryLeak内存泄漏 /* 这类错误报错具体显示:java.lang.OutOfMemory ...

  2. Enum应用

    public enum ZDJGJD { YSZ("01",0.3,"取得预售许可"),JGFD("02",0.6,"单位结构封顶 ...

  3. 十二、JavaScript之变量申明

    一.代码如下 二.运行效果如下 <!DOCTYPE html> <html> <meta http-equiv="Content-Type" cont ...

  4. 二、JavaScript之点击按钮改变HTML样式 (CSS)

    一.代码如下 二.点击前 三.点击后 <!DOCTYPE html> <html> <meta http-equiv="Content-Type" c ...

  5. js面试之数组的几个不low操作

    1.扁平化n维数组 1.终极篇 [1,[2,3]].flat(2) //[1, 2, 3] [1,[2,3,[4,5]]].flat(3) //[1, 2, 3, 4, 5] [1,[2,3,[4,5 ...

  6. 读书笔记 - js高级程序设计 - 第十五章 使用Canvas绘图

    读书笔记 - js高级程序设计 - 第十三章 事件   canvas 具备绘图能力的2D上下文 及文本API 很多浏览器对WebGL的3D上下文支持还不够好   有时候即使浏览器支持,操作系统如果缺缺 ...

  7. 9 ~ express ~ 用户注册

    一,/public/js/index.js //登陆 $login.find('button').on('click',()=>{ $.ajax({ type:'post', url:'/api ...

  8. 深入X64架构(翻译)

    | 本人只是原创翻译,而且翻译也不一定好,纯当锻炼.内容如果英文好的同学,建议直接去看英文原版,比较爽. NBAOL系列2代产品是 windows平台64位的应用程序,在技术测试过程中,遇到一些cra ...

  9. Java8 Optional类使用小结

    Optional类的Javadoc描述如下: 这是一个可以为null的容器对象.如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象. of:  为非null的值创建一 ...

  10. 二、CI框架之MCV模型

    一.关于MCV,大概就是下图所示: 模型(model)-视图(view)-控制器(controller) M用来处理数据库,V用来显示界面,C用来控制 二.对应到CI的源码,对应的是这3个目录 不忘初 ...