request.getParameter(name)根据表单中name属性的名,获取value属性的值方法
request.getParameterValues(String name)专业为复选框取取提供的方法,返回数组
request.getParameterNames() 得到表单提交的所有name的方法
request.getParameterMap()方法 //到表单提交的所有值的方法 //做框架用,非常实用
request.getInputStream 以字节流的方式得到所有表单数据
getParameterValues使用如下:
Enumeration<String> names = req.getParameterNames();
while(names.hasMoreElements()) {
String name = names.nextElement();
String[] values = req.getParameterValues(name);
for(int i =0;values !=null && i<values.length; i++) {
System.out.println(name+"/t"+values[i]);
}
}
getInputStream使用如下:
request.getParameterMap
//获取表单数据
Map<String,String[]> map = request.getParameterMap();
for (Map.Entry<String, String[]> m : map.entrySet()) {
String name = m.getKey();
String[] value = m.getValue();
//创建一属性描述器
PropertyDescriptor pd = new PropertyDescriptor(name, User.class);
//得到setter属性
Method setter = pd.getWriteMethod();
if(value.length==1){
setter.invoke(u, value[0]);//给一个值的变量赋值
}else{
setter.invoke(u, (Object)value);//相关于给复选框赋值
}
}
或者引入jar包 commons-beanutils-1.8.3
User u = new User();
System.out.println(“封装数据前:”+u);
BeanUtils.populate(u, request.getParameterMap());
System.out.println("封装数据后:"+u);
平时工作中的工具类
public static Map<String, String> getParaMap(Controller con) {
Map<String, String[]> map = con.getParaMap();
if (map == null) {
return null;
}
Map<String, String> result = new HashMap<String, String>();
for (String key : map.keySet()) {
result.put(key, getValue(map.get(key)[0]));
}
return result;
}