将Form表单中的属性封装到对象中,使用beanutils工具类获得
在java项目中常常会涉及到form表单提交到后台,而提交到后台的方式有get和post两种。大多数公司都会采用post方式更安全。经常会涉及到这么一种情况,form表单的属性都可以使用一个bean来接收,在整个J2EE的编程过程中,我们经常会从各种配置文件中读取相应的数据,需要明白的一点是从配置文件中读取到的数据都是String,但是很显然我们的应用程序中不仅仅有String一种数据类型,比如:基本数据类型(int、double、char、float等),还有自定义数据类型(引用数据类型),那么我们必须面临的一个问题就是讲字符串类型转换为各种具体的数据类型。那么我们就需要使用BeanUtils工具来把属性值和对象一一对应起来,封装到javabean中。
使用BeanUtils需要下载两个jar包。
commons-beanutils-1.9.2.jar 下载地址: http://commons.apache.org/proper/commons-beanutils/download_beanutils.cgi
commons-logging.jar 下载地址: https://commons.apache.org/proper/commons-logging/download_logging.cgi
Beanutils工具在使用时几乎只用到以下几个方法,其中一个方法通常情况下都是使用匿名内部类。
BeanUtils.setProperty(bean, name, value);其中bean是指你将要设置的对象,name指的是将要设置的属性(写成”属性名”),value(从配置文件中读取到到的字符串值)
BeanUtils。copyProperties(bean, name, value),和上面的方法是完全一样的。使用哪个都可以
ConvertUtils.register(Converter converter , ..),当需要将String数据转换成引用数据类型(自定义数据类型时),需要使用此方法实现转换。
BeanUtils.populate(bean,Map),其中Map中的key必须与目标对象中的属性名相同,否则不能实现拷贝。
BeanUtils.copyProperties(newObject,oldObject),实现对象的拷贝
当然,要想获得该对象则可以通过反射机制获取对象实例。可以自己编写一个工具类,类似这样:
在传到后台的方法中,通过HttpServletRequest获取form传过来的对象,如图:
这样form中的数据则全部封装到对象中,可以专注于后台代码的业务逻辑了。