首先需要pom导入需要的依赖
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.41</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.9</version> </dependency>PageData类
package com.su.suredis.pageData; import java.io.Serializable; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import javax.servlet.http.HttpServletRequest; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.math.NumberUtils; import org.apache.ibatis.type.Alias; import net.sf.json.JSONObject; import net.sf.json.util.JSONUtils; /** * 存储数据的对象 * @ClassName: PageData * @Description:(这里用一句话描述这个类的作用) * */ @SuppressWarnings("rawtypes") @Alias("pd") public class PageData extends HashMap implements Map,Serializable{ private static final long serialVersionUID = 1L; Map map = null; HttpServletRequest request; @SuppressWarnings("unchecked") public PageData(HttpServletRequest request){ this.request = request; Map properties = request.getParameterMap(); Map returnMap = new HashMap(); Iterator entries = properties.entrySet().iterator(); Entry entry; String name = ""; String value = ""; while (entries.hasNext()) { entry = (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); if (JSONUtils.mayBeJSON(value)) { Object obj = com.alibaba.druid.support.json.JSONUtils.parse(value); if (JSONUtils.isArray(obj)) { List<PageData> pds = new ArrayList<PageData>(); List<Map<String, String>> list = (List<Map<String, String>>) obj; for (Map<String, String> map : list) { PageData pd = new PageData(); for (Entry<String, String> e : map.entrySet()) { pd.put(e.getKey(), e.getValue()); } pds.add(pd); } returnMap.put(name, pds); } continue; } }else{ value = valueObj.toString(); } if (StringUtils.isEmpty(value)) { value = null; } returnMap.put(name, value); } map = returnMap; } public PageData() { map = new HashMap(); } @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) { String val=null; try { if(null!=get(key)){ val=get(key).toString(); } } catch (Exception e) { return null; } return val; } public Double getDouble(Object key) { String val=null; if(null!=get(key)){ val=get(key).toString(); } if(null!=val && NumberUtils.isNumber(val)){ Double num=Double.parseDouble(val); return num; } return null; } public Integer getInteger(Object key) { String val=null; if(null!=get(key)){ val=get(key).toString(); } if(null!=val && NumberUtils.isNumber(val)){ return Integer.parseInt(val); } return null; } @SuppressWarnings("unchecked") @Override public Object put(Object key, Object value) { // return map.put(key, value); } @Override public Object remove(Object key) { return map.remove(key); } public void clear() { map.clear(); } public boolean containsKey(Object key) { return map.containsKey(key); } public boolean containsValue(Object value) { return map.containsValue(value); } public Set entrySet() { return map.entrySet(); } public boolean isEmpty() { return map.isEmpty(); } public Set keySet() { return map.keySet(); } @SuppressWarnings("unchecked") public void putAll(Map t) { map.putAll(t); } public int size() { return map.size(); } public Collection values() { return map.values(); } /** * jsonObj对象转PageData * @param jsonObj * @return */ @SuppressWarnings("unchecked") public static PageData jsonObject2PageData(JSONObject jsonObj){ PageData pd = new PageData(); if(jsonObj==null||jsonObj.size()==0){ return pd; } String key=null; for (Iterator<String> keys = jsonObj.keys(); keys.hasNext();) { try { key = keys.next(); Object obj = jsonObj.get(key); if(obj!=null){ pd.put(key, obj); } } catch (Exception e) { e.printStackTrace(); } } return pd; } }