//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即可