对界面的封装 属性的封闭
package com.sdjt.util.page;import java.lang.reflect.Method;import java.util.Collection;import java.util.HashMap;import java.util.Map;import java.util.Set;import javax.servlet.http.HttpServletRequest;public class PageData extends HashMap implements Map{/** * 自动将页面数据放入PageData对象中,当从页面获取数据时 new的时候要传request * request.getParameter(arg0): get(arg0)或getString(arg0) * request.getParameterValues(arg0): getValues(arg0)方法 * 本类也可以当做一个普通的Map使用,new的时候不要传参数 * author:lqf */private static final long serialVersionUID = 1L;Map map = null;HttpServletRequest request;//从页面获取数据public PageData(HttpServletRequest request){this.request = request;map = request.getParameterMap();//当表单提交类型为"multipart/form-data"时,request.getParameterMap()返回的是一个HashMap,没有setLocked方法if("ParameterMap".equals(map.getClass().getSimpleName())) {Method method;try {method = map.getClass().getMethod("setLocked",new Class[]{boolean.class});method.invoke(map,new Object[]{new Boolean(false)});} catch (Exception e) {e.printStackTrace();} }}//普通的Mappublic PageData() {map = new HashMap();}@Overridepublic 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;}//本方法只能用于从页面获取数组,例如相同名字的checkboxpublic String[] getValues(Object key) {return request == null ? null:request.getParameterValues((String)key);}public String getString(Object key) {return (String)get(key);}@SuppressWarnings("unchecked")@Overridepublic Object put(Object key, Object value) {return map.put(key, value);}@Overridepublic Object remove(Object key) {return map.remove(key);}public void clear() {map.clear();}public boolean containsKey(Object key) {// TODO Auto-generated method stubreturn map.containsKey(key);}public boolean containsValue(Object value) {// TODO Auto-generated method stubreturn map.containsValue(value);}public Set entrySet() {// TODO Auto-generated method stubreturn map.entrySet();}public boolean isEmpty() {// TODO Auto-generated method stubreturn map.isEmpty();}public Set keySet() {// TODO Auto-generated method stubreturn map.keySet();}@SuppressWarnings("unchecked")public void putAll(Map t) {// TODO Auto-generated method stubmap.putAll(t);}public int size() {// TODO Auto-generated method stubreturn map.size();}public Collection values() {// TODO Auto-generated method stubreturn map.values();}}