HttpServletRequest获取所有参数

HttpServletRequest获取所有参数有以下2种方法:

1. request.getParameterNames()

改方法获取所有参数名称列表,得到枚举类型的参数名称,参数名称若有重复的只能得到第一个,示例如下:

private Map showParams(HttpServletRequest request) {
	Map map = new HashMap();
	Enumeration paramNames = request.getParameterNames();
	while (paramNames.hasMoreElements()) {
		String paramName = (String) paramNames.nextElement();
		String[] paramValues = request.getParameterValues(paramName);
		if (paramValues.length == 1) {
			String paramValue = paramValues[0];
			if (paramValue.length() != 0) {
				map.put(paramName, paramValue);
			}
		}
	}
	return map;
}

2. request.getParameterMap()

该方法返回一个Map类型的值,该返回值记录着前端(如jsp页面)所提交请求中的请求参数和请求参数值的映射关系。这个返回值有个特别之处——只能读。

//获取request对象  
HttpServletRequest request = ServletActionContext.getRequest();     
Map<String,String[]> map=request.getParameterMap();  
//遍历  
for(Iterator iter=map.entrySet().iterator();iter.hasNext();){  
Map.Entry element=(Map.Entry)iter.next();   //key值   
Object strKey = element.getKey();     //value,数组形式  
     String[] value=(String[])element.getValue();  
     System.out.print(strKey.toString() +"=");  
     for(int i=0;i<value.length;i++){  
         System.out.print(value[i]+",");  
     }
    System.out.println();  
}

版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。