博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BeanUtils使用
阅读量:6329 次
发布时间:2019-06-22

本文共 2133 字,大约阅读时间需要 7 分钟。

JAVA在Web开发项目中,经常会接收各种参数,并将这些参数保存到对象里面去,比如,http://127.0.0.1/Servlet/?username=liqiu&password=123456&age=29。需要将这些内容保存在User对象里面去,User.java代码如下:

public class User {    private String username;    private String password;    private int age;public String getUsername() {        return username;    }.............................}

那么,如果不使用BeanUtils,需要一个参数一个参数的判断,转换和赋值,反之:

Map map = request.getParameterMap();        User user = new User();        try {            BeanUtils.populate(user, map);        } catch (IllegalAccessException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (InvocationTargetException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }

当然也有略复杂的情况,比如传输时间类型的数据

package com.taobao.beanutils;.............................................public class Demo01 {// 自定义转换器    @Test    public void test2() throws Exception {        Person p = new Person();        ConvertUtils.register(new Converter() {            @Override            public Object convert(Class type, Object value) {                if (value == null) {                    return null;                }                if (!(value instanceof String)) {                    throw new ConversionException("conversion error");                }                String str = (String) value;                if (str.trim().equals("")) {                    return null;                }                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");                try {                    return sdf.parse(str);                } catch (ParseException e) {                    throw new RuntimeException(e);                }            }        }, Date.class);        BeanUtils.setProperty(p, "birth", "2011-10-10");        System.out.println(p.getBirth().toLocaleString());    }    // 使用内置的转换器    @Test    public void test3() throws Exception {        Person p = new Person();        ConvertUtils.register(new DateLocaleConverter(), Date.class);        BeanUtils.setProperty(p, "birth", "2011-10-10");        System.out.println(p.getBirth().toLocaleString());    }}

 

转载地址:http://fkfoa.baihongyu.com/

你可能感兴趣的文章
Nginx 外的另一选择,轻量级开源 Web 服务器 Tengine 发布新版本
查看>>
Wrod中超链接的一些技巧
查看>>
我的友情链接
查看>>
IP_VFR-4-FRAG_TABLE_OVERFLOW【cisco设备报错】碎片***
查看>>
Codeforces Round #256 (Div. 2) D. Multiplication Table 【二分】
查看>>
ARM汇编指令格式
查看>>
HDU-2044-一只小蜜蜂
查看>>
HDU-1394-Minimum Inversion Number
查看>>
jsonView谷歌插件
查看>>
df -h 卡住
查看>>
K-means算法(理论+opencv实现)
查看>>
第七天1
查看>>
[转] createObjectURL方法 实现本地图片预览
查看>>
Jquery中的Jquery.extend, Jquery.fn.extend,Jquery.prototype
查看>>
JavaScript—DOM编程核心.
查看>>
Javascript鼠标滚轮事件兼容写法
查看>>
JavaScript碎片
查看>>
Bootstrap-下拉菜单
查看>>
soapUi 接口测试
查看>>
【c学习-12】
查看>>