//1. 获得请求参数 Map<String, String[]> map = request.getParameterMap(); User user = new User(); // BeanUtils.populate( Object bean, Map properties ), //这个方法会遍历map<key, value>中的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即可