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

Posted yun3721

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java接收参数和返回数据实体类封装1相关的知识,希望对你有一定的参考价值。

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的主要内容,如果未能解决你的问题,请参考以下文章

ajax异步请求获取后台数据,java mvc 后台应该如何封装各种实体类数据?

java 实体类

如何让Spring MVC接收的参数可以转换为java对象

JAVA中,类、对象、实体、实体类、实体对象之间存在怎样的联系??请高手做形象的解释。

java entity

java 循环变量