对于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 {
}
这样注意:当你想让表单域自动封装对象时,表单域的name属性必须和所封装TO类的setXX方法相一致
例如: 表单域有个text输入域 name="id" 那么User 中必须提供相应的setId 方法
如果表单域name = "age" 那么User中 需要提供 setAge方法才能完成封装
5)编写使用BeanUtils封装代码
Map parameterMap = request.getParameterMap();
//
User user = new User();
BeanUtils.copyProperties(user, parameterMap);
** 你也可以手动调用转换类型的方法
User user2 = new User();
}
以上是BeanUtils的一个简单使用入门,公供大家参考