package com.css.yj.yjzs.ctrlCommon;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.apache.log4j.Logger;
public class ParameterUtility {
private static Logger logger = Logger.getLogger(ParameterUtility.class);
private HttpServletRequest request = null;
public ParameterUtility(HttpServletRequest request) {
this.request = request;
}
/**
* 根据表单的name(名字)数组,返回对应的Map对象。Map对象的key是表单的name,Map对象的value是表单的value
*
* @author liuzhy
*/
public Map arrayFormToMap(String[] arrayFormName) {
Map mapParameters = new HashMap();
for (int i = 0; i < arrayFormName.length; i++) {
mapParameters.put(arrayFormName[i], request.getParameter(arrayFormName[i]));
}
return mapParameters;
}
/**
* 对于页面中多个重名的表单,获取Map对象的value值是数组。即Map对象的key是表单的name,Map对象的value是表单值数组
*
* @author liuzhy
*/
public Map arrayFormsToMap(String[] arrayFormName) {
Map mapParameters = new HashMap();
for (int i = 0; i < arrayFormName.length; i++) {
String[] arrayValues = request.getParameterValues(arrayFormName[i]);
mapParameters.put(arrayFormName[i], arrayValues);
}
return mapParameters;
}
/**
* 附件上传时,Map对象的获取
*
* @author liuzhy
*/
public Map arrayFormsByAttachToMap(String[] arrayParameters) {
Map mapPrarmeters = new HashMap();
for (int i = 0; i < arrayParameters.length; i++) {
mapPrarmeters.put(arrayParameters[i], request.getAttribute(arrayParameters[i]));
}
return mapPrarmeters;
}
/**
* 把 map 中的 key 和 value 展示出来,用于测试使用
*
* @author liuzhy
*/
public void showKeyAndValueFromMap(Map mapParameter) {
Iterator it = mapParameter.entrySet().iterator();
while (it.hasNext()) {
Map.Entry entry = (Map.Entry) it.next();
Object key = entry.getKey();
Object value = entry.getValue();
String strKey = "null";
String strValue = "null";
if (key != null)
strKey = key.toString();
if (value != null)
strValue = value.toString();
logger.info("map key is: " + strKey + " value is: " + strValue);
}
}
}