使用BeanUtils.populate封装对象时,封装对象的属性值始终为null,是哪里出现问题了?

我遇到的这种情况是由于获取到的属性名和自己定义封装的类的属性值不一致导致的。

比如:在一个html的页面中,提交的表单数据有 username 和 password 两个数据,这时候用于封装的类 的属性名 必须和要获取的用于封装的属性保持一致 也就是类中定义的属性要为 username和 password。

如果不这样做,那么使用BeanUtils.populate()封装时,里面的键值对就为null

代码示例:

html:  

 <form action="loginServlet" method="post">
            <div>
                <span>用户名:</span><input type="text" name="username"><br>
            </div>
            <div>
                <span>密 &nbsp; &nbsp;码:</span><input type="password" name="password"> 
            </div>
            <div id="btn">
                <div id="sub">
                    <input type="submit" name="提交" id="submit">
                </div>

            </div>

用于封装的user类:


    private String username;
    private String password;

封装代码:

Map<String, String[]> map= req.getParameterMap();//这里从表单中获取到的username和password
//要和user类中的相对应,不然的话,实现封装的时候,里面的值会出现null值
        User user = new User();

        try {
            BeanUtils.populate(user,map);
        } catch (IllegalAccessException     e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        }

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值