EL表达式和JSTL(二)——BeanUtils工具
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工具的更多相关文章
- [转]EL表达式和JSTL表达式实例
/* **Title:EL表达式和JSTL表达式实例 **Author:Insun **Blog:http://yxmhero1989.blog.163.com/ */ 为了方便写JSP,我们引入了E ...
- 简述jsp之EL表达式和jstl及其使用
Jsp的指令之include指令include指令:代表的是页面的包含. 作用:可以把一些jsp的页面包含在一起,对外展示. 页面的布局,现在已经不用了,现在都用css+div进行布局.include ...
- jsp EL表达式和JSTL标签if-else if-else用法
java web javaEE ,jsp EL表达式和JSTL标签if-else if-else四种用法一.条件运算符 ${user.gender==?'男':'女'} 二.if() <c:if ...
- Javaweb学习笔记6—EL表达式与JSTL及自定义标签
今天来讲javaweb的第六阶段学习. EL表达式与JSTL及自定义标签是对上篇文章介绍的JSP的扩展,不能说是很重要的东西,但是也要了解. 老规矩,首先先用一张思维导图来展现今天的博客内容. ps: ...
- EL表达式、JSTL
EL表达式 一.简介 > JSP表达式 <%= %> 用于向页面中输出一个对象. > 到JSP2.0时,在我们的页面中不允许出现 JSP表达式和 脚本片段. ...
- (十)EL表达式和JSTL标签快速入门
目录 什么是 el 表达式 示例:使用EL表达式获取pageContext .request.session.application域中的数据: 示例:使用EL表达式获取Bean属性 获取当前WEB应 ...
- EL&Filter&Listener:EL表达式和JSTL,Servlet规范中的过滤器,Servlet规范中的监听器,观察着设计模式,监听器的使用,综合案例学生管理系统
EL&Filter&Listener-授课 1 EL表达式和JSTL 1.1 EL表达式 1.1.1 EL表达式介绍 *** EL(Expression Language):表达式语言 ...
- EL表达式与JSTL
内容包括 EL表达式 EL函数库 JSTL 核心标签库 格式化标签库 SQL标签库 XML标签库 自定义标签库 EL表达式 EL是Expression Language的是缩写,是JSP页面编写的一种 ...
- Struts标签、Ognl表达式、el表达式、jstl标签库这四者之间的关系和各自作用
我之前虽然会用,但是一直分不清彼此之间有什么区别,所以查找资料,将它们进行整合区分,加深了解, 一 介绍 1.Struts2的作用 Struts2标签库提供了主题.模板支持,极大地简化了视图页面的 ...
随机推荐
- 我的Java语言学习日志1_"简单的银行管理系统实现"
设计步骤:注意:本篇代码,直接建两个类( Bank_Account.BankManage)在BankManage往里面填方法就行.是为了让和我一样自学朋友可以更快的接受.但是代码优化的空间还是很大的( ...
- Spring-IOC(基于XML配置)
什么是IOC? IOC: Inversion of Control(控制反转). 控制反转:将对象的创建权反转给(交给)Spring. 在使用Spring框架之后,对象的实例不再由调用者来创建,而 是 ...
- 118-PHP调用带参数的成员方法
<?php class ren{ //定义人类 public function info($name,$age=3){ //定义有两个参数的成员方法 echo "我是{$name},年 ...
- T_SQL 将一列多行数据合并为一行
SQL Server在进行数据迁移和报表处理的时候会遇到将一列多行数据拼接为一个字符串的情况,为了处理这个问题,在网上找了一些相关的资料,提供两种方法,供遇到类似问题的朋友们参考,也借此加深自己的印象 ...
- SQL中行转列(PIVOT)与列转行(UNPIVOT)
一.行转列 1.测试数据准备 CREATE TABLE [StudentScores] ( ), --学生姓名 ), --科目 [Score] FLOAT, --成绩 ) 执行结果: 2.行转列sql ...
- Mac电脑上怎么设置环境变量
https://jingyan.baidu.com/article/8065f87f47b29523312498e4.html 环境变量是电脑操作系统中常用的一些变量,作用类似于将一些常用命令所在的文 ...
- UVA - 10791 Minimum Sum LCM(最小公倍数的最小和)
题意:输入整数n(1<=n<231),求至少两个正整数,使得它们的最小公倍数为n,且这些整数的和最小.输出最小的和. 分析: 1.将n分解为a1p1*a2p2……,每个aipi作为一个单独 ...
- 2020牛客寒假算法基础集训营4 G音乐鉴赏
题目描述 作为“音乐鉴赏”课的任课老师,你的课程作为刷学分好课一直受到广泛欢迎.但这一学期,学校制定了新的标准,你的课的优秀率(分数超过90分的人数)被限制在10%以下! 为了应对这个调整,你要求所有 ...
- buildroot经验
1.可以运行bulilroot下面的孙可编写的build.sh文件,自动配置和编译 2.如何添加要下载和编译的包? 如要下载和编译libevent, 可以通过make menuconfig, 然后搜索 ...
- java类加载及new对象的过程
/* SubClass sub = new SubClass(); 这句话到底做了什么事情呢? 1.javac编译.java源文件形成.class字节码文件; 2.new SubClass()对象时, ...