BeanUtils.populate()的作用

            //1. 获得请求参数
            Map map = request.getParameterMap();
            User user = new User();
            // BeanUtils.populate( Object bean, Map properties ),
//这个方法会遍历map中的key,如果bean中有这个属性,就把这个key对应的value值赋给bean的属性。
            BeanUtils.populate(user,map);

    根据Java规范:request.getParameterMap()返回的是一个Map类型的值,该返回值记录着前端(如jsp页面)所提交请求中的请求参数和请求参数值的映射关系。这个返回值有个特别之处——只能读。不像普通的Map类型数据一样可以修改。这是因为服务器为了实现一定的安全规范,所作的限制。比如WebLogic,Tomcat,Resin,JBoss等服务器均实现了此规范。

   如果实在有必要在取得此值以后做修改的话,要新建一个map对象,将返回值复制到此新map对象中进行修改,用新的map对象代替使用之前的返回值。

Map readOnlyMap = request.getParameterMap();  
Map writeAbleMap = new HashMap();  
writeAbleMap.putAll(readOnlyMap);  
writeAbleMap.remove()或者put()...  
在后续的程序代码中使用writeAbleMap即可  

你可能感兴趣的:(BeanUtils.populate()的作用)