首页>代码>spring mvc+mybatis+mysql+maven+bootstrap-table整合实现增删查改简单实例>/demo-bstable/src/main/java/com/xe/demo/common/pojo/ParamData.java
package com.xe.demo.common.pojo;

import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

import javax.servlet.http.HttpServletRequest;

import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

/**
 * 封装请求参数
 * @author czh
 * @2015年5月20日
 */
@SuppressWarnings("rawtypes")
public class ParamData extends HashMap implements Map{
	
	private static final long serialVersionUID = 1L;
	
	/**参数封装*/
	Map<Object, Object> map = null;
	HttpServletRequest request;
	
	@SuppressWarnings("unchecked")
	public ParamData(){
		this.request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
		Map properties = request.getParameterMap();
		Map returnMap = new HashMap(); 
		Iterator entries = properties.entrySet().iterator(); 
		Map.Entry entry; 
		String name = "";  
		String value = "";  
		while (entries.hasNext()) {
			entry = (Map.Entry) entries.next(); 
			name = (String) 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); 
		}
		map = returnMap;
	}
	
	@Override
	public Object get(Object key) {
		Object obj = null;
		if(map.get(key) instanceof Object[]) {
			Object[] arr = (Object[])map.get(key);
			obj = request == null ? arr:(request.getParameter((String)key) == null ? arr:arr[0]);
		} else {
			obj = map.get(key);
		}
		return obj;
	}
	
	public String getString(Object key) {
		return (String)get(key);
	}
	
	public int getInt(Object key){
		return Integer.parseInt(getString(key));
	}
	
	public double getDouble(Object key){
		return Double.parseDouble(getString(key));
	}
	
	@Override
	public Object put(Object key, Object value) {
		return map.put(key, value);
	}
	
	@Override
	public Object remove(Object key) {
		return map.remove(key);
	}

	@Override
	public void clear() {
		map.clear();
	}

	@Override
	public boolean containsKey(Object key) {
		return map.containsKey(key);
	}

	@Override
	public boolean containsValue(Object value) {
		return map.containsValue(value);
	}

	@Override
	public Set entrySet() {
		return map.entrySet();
	}

	@Override
	public boolean isEmpty() {
		return map.isEmpty();
	}

	@Override
	public Set keySet() {
		return map.keySet();
	}

	@Override
	@SuppressWarnings("unchecked")
	public void putAll(Map t) {
		map.putAll(t);
	}

	@Override
	public int size() {
		return map.size();
	}

	@Override
	public Collection values() {
		return map.values();
	}
	
}
最近下载更多
xiaoaitx  LV8 1月2日
fff团团长  LV1 2024年9月7日
featherteng  LV1 2024年5月3日
h G24741  LV2 2024年3月12日
shuangfu  LV25 2023年9月6日
莉莉姆  LV1 2023年8月31日
279824554  LV2 2023年6月25日
MHB123  LV5 2023年6月3日
Fyx123456  LV1 2023年5月31日
张真狗  LV9 2023年5月22日
最近浏览更多
taoshen95  LV16 4月6日
hezhihui 1月9日
暂无贡献等级
xiaoaitx  LV8 1月2日
Ella0902 2024年12月18日
暂无贡献等级
fff团团长  LV1 2024年9月7日
xingxiu  LV1 2024年6月8日
rudyfather 2024年6月4日
暂无贡献等级
yangzhou11 2024年5月18日
暂无贡献等级
huigui007 2024年5月16日
暂无贡献等级
featherteng  LV1 2024年5月3日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友