获取get请求中的参数

需要获取get请求中的参数,将参数一一保存到数据库

方法一(只适合参数较少的情况):

使用 String a = request.getParameter(“参数名”);不适合参数较多的情况,因为参数太多,然后分别接收,代码显得臃肿,因此在网上寻找有没有简单的方法,最终才发现了方法二

方法二

使用request.getParameterMap()把请求参数封装到Map中,然后再使用BeanUtils.populate(bean,map)方法,该方法会遍历map中的key,如果bean中有这个属性,就把这个key对应的value值赋给bean的属性。所以使用方法二, 注意 :需要请求参数名和实体类中的字段名一样
详细代码如下:

//添加轮胎温度 接口实现
public Map Insert(HttpServletRequest request) throws IOException, IllegalAccessException, InvocationTargetException{
		//方法一 单独取值
		//String tirenum1 = request.getParameter("tire_num1");
		//方法二 使用 getParameterMap() 返回 Map,再使用BeanUtils.populate(bean,map)
		//参数名需要和bean类字段名一样
		Map<String, String[]> properties = request.getParameterMap();//把请求参数封装到Map
		Map<String, Object> returnMap = new HashMap<String, Object>();
		Iterator<Entry<String, String[]>> iter = properties.entrySet().iterator();
		String name = "";
		String value = "";
		while (iter.hasNext()) {
			Entry<String, String[]> entry = iter.next();
			name = entry.getKey();
			Object valueObj = entry.getValue();
			if (null == valueObj) {
				value = "";
			} else if (valueObj instanceof String[]) {
				String[] values = (String[]) valueObj;
				for (int i = 0; i < values.length; i++) { //用于请求参数中有多个相同名称
					value = values[i] + ",";
				}
				value = value.substring(0, value.length() - 1);
			} else {
				value = valueObj.toString();//用于请求参数中请求参数名唯一
			}
			returnMap.put(name, value);
		}
		TireTemp t = new TireTemp();
		//遍历map中的key,如果bean中有这个属性,就把这个key对应的value值赋给bean的属性。
		BeanUtils.populate(t, returnMap);
		System.out.println("getTire_num1:"+t.getTire_num1());
		try {
			ReturnCarInfo.count = ts.InsertTireTemp(t);//执行添加方法
		} catch (Exception e) {
			System.out.println("添加数据失败,发生异常:"+e);
		}
		Map m=new HashMap();
		if(ReturnCarInfo.count == 0) {
			m.put("msg", ReturnCarInfo.MSG_ERROR);
			m.put("code", ReturnCarInfo.CODE_ERROR);
			return m;
		}else {
			m.put("msg", ReturnCarInfo.MSG_SUCCESS);
			m.put("code",ReturnCarInfo.CODE_SUCCESS);
			m.put("data", ReturnCarInfo.count);
			return m;
		}
		
	}

初学java的小白,有什么不对的地方,欢迎批评指正,谢谢。
转自 地址.

你可能感兴趣的:(获取get请求中的参数)