1. 程式人生 > >java後端封裝前段請求引數

java後端封裝前段請求引數

1.java後端封裝前段頁面請求引數。


    /**
     * 快捷封裝所有請求引數
     * 繼承此類的子類可以使用此方法
     * @param request
     * @return Map
     */
    protected final synchronized Map<String, Object> wrapParams(HttpServletRequest         request) {
        Map<String, Object> params = new HashMap<>();
        Enumeration<String> enumeration = request.getParameterNames();
        while (enumeration.hasMoreElements()) {
            String name = enumeration.nextElement();
            if ("pageData".equals(name)) {
                try {
                    String value = request.getParameter(name);
                    params.putAll(JSONObject.parseObject(value, Map.class));
                } catch (Exception e) {
                    e.printStackTrace();
                }
            } else {
                String[] values = request.getParameterValues(name);
                if (values.length == 0) {
                    params.put(name, null);
                } else if (values.length == 1) {
                    params.put(name, values[0]);
                } else {
                    // 引數是陣列,轉成字串,用","連線
                    params.put(name, values);
                }
            }
        }
        log.debug("前端提交引數:" + JSON.toJSONString(params));
        return params;
    }