欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java后端封装前段请求参数

程序员文章站 2024-02-18 18:22:22
...

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;
    }