码迷,mamicode.com
首页 > 编程语言 > 详细

java接收参数和返回数据实体类封装1

时间:2018-07-29 17:56:36      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:while   map   else   length   imp   stat   nmap   i++   str   

public class PageData extends HashMap implements Map {

    private static final long serialVersionUID = 1L;

    Map map = null;
    HttpServletRequest request;

    public PageData(HttpServletRequest request) {
        this.request = request;
        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();
            }
            if (name.equals("timeEnd")) {
                if (!value.equals("")) {
                    value = value + " 23:59:59";
                } else {

                }

            }
            returnMap.put(name, value);
        }
        map = returnMap;
    }

    public PageData(JSONObject jo) {
        Map returnMap = new HashMap();
        for (Iterator<String> keys = jo.keys(); keys.hasNext();) {
            try {
                String key1 = keys.next();
//                System.out.println("key1---" + key1 + "------" + jo.get(key1) + (jo.get(key1) instanceof JSONObject)
//                        + jo.get(key1) + (jo.get(key1) instanceof JSONArray));
//                System.out.println("key1:" + key1 + "----------jo.get(key1):" + jo.get(key1));
                returnMap.put(key1.toUpperCase(), jo.get(key1));
            } catch (JSONException e) {
                e.printStackTrace();
            }

        }
        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) {
    
        if (null != get(key) && "null" != get(key)) {
            return String.valueOf(get(key));
        }
        return "";
    }

    public double getDouble(Object key) {
        Object value = get(key);
        if (null != value && !"null".equals(value) && !"".equals(value)) {
            if (value instanceof String) {
                return Double.parseDouble(value.toString());
            } else if (value instanceof Double) {
                return (double) value;
            }
            // return (double) get(key);
        }
        return 0.0;
    }

    public int getInt(Object key) {
        Object value = get(key);
        if (null != value && !"null".equals(value) && !"".equals(value)) {
            if (value instanceof String) {
                return Integer.parseInt(value.toString());
            } else if (value instanceof Integer) {
                return (int) value;
            }
        }
        return 0;
    }

其本质就是一个HashMap

java接收参数和返回数据实体类封装1

标签:while   map   else   length   imp   stat   nmap   i++   str   

原文地址:https://www.cnblogs.com/yun3721/p/9385842.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!