Apache的BeanUtils的使用入门

本文介绍如何使用Apache BeanUtils库简化HTTP请求参数的封装过程。通过实例演示了从创建表单到使用BeanUtils自动填充Java Bean的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对于Http请求提交的数据,在web层都要封装为TO对象传递给业务层,其实利用反射技术自己写个属性自动封装的框架也不难,但是Apache的BeanUtils既然给我们提供了相关的操作,那就简单来了解一下吧

1)导入BeanUtils相关jar包(需要commons-beanutils 和 commons-logging)

因为BeanUtils依赖logging记录日志

下载网址:http://commons.apache.org

2)编写一个带有form表单的页面

<form>

....

</form>

就不写了,假设编写好了一个表单域,一个属性id,一个属性name,一个属性age

3)编写Servlet程序,通过HttpServletRequest对象获得参数的Map

Map parameterMap = request.getParameterMap();

这样就得到了一个参数的map集合,key应该是表单域的name,value应该是String或者String[]类型

4) 编写TO对象

public class User {
private int id;
private String name;
private int age;

// get set 方法

}

这样注意:当你想让表单域自动封装对象时,表单域的name属性必须和所封装TO类的setXX方法相一致

例如: 表单域有个text输入域 name="id" 那么User 中必须提供相应的setId 方法

如果表单域name = "age" 那么User中 需要提供 setAge方法才能完成封装

5)编写使用BeanUtils封装代码

Map parameterMap = request.getParameterMap();

// 让BeanUtils自动帮你转换类型

User user = new User();
BeanUtils.copyProperties(user, parameterMap);
** 你也可以手动调用转换类型的方法

User user2 = new User();
for (String key : parameterMap.keySet()) {
Class type = PropertyUtils.getPropertyType(user2, key);
if (type != null) {
// 设置参数
PropertyUtils.setProperty(user2, key, ConvertUtils.convert(parameterMap.get(key), type));
}

}

以上是BeanUtils的一个简单使用入门,公供大家参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值