Example usage for org.springframework.web.context.request NativeWebRequest getParameterNames

List of usage examples for org.springframework.web.context.request NativeWebRequest getParameterNames

Introduction

In this page you can find the example usage for org.springframework.web.context.request NativeWebRequest getParameterNames.

Prototype

Iterator<String> getParameterNames();

Source Link

Document

Return a Iterator over request parameter names.

Usage

From source file:com.fengduo.bee.commons.component.ObjectArrayDataBinder.java

private int initParamAndValues(NativeWebRequest request, String name, Map<String, String[]> paramAndValues) {
    int size = -1;
    boolean checkPrefix = false;
    if (StringUtils.isNotEmpty(name)) {
        checkPrefix = true;// w  w  w .ja  v  a 2 s  .co m
    }
    for (Iterator<String> parameterNames = request.getParameterNames(); parameterNames.hasNext();) {
        String parameterName = parameterNames.next();
        if (checkPrefix && parameterName.startsWith(name + ".")) {
            String[] values = request.getParameterValues(parameterName);
            if (values != null && values.length > 0) {
                paramAndValues.put(parameterName.substring(name.length() + 1), values);
                if (size == -1) {
                    size = values.length;
                } else if (size != values.length) {
                    fieldError = new FieldError(name, name, "?");
                    return -1;
                }
            }
        }
    }
    return size;
}

From source file:org.fao.geonet.api.records.formatters.FormatterApi.java

private boolean hasNonStandardParameters(NativeWebRequest request) {
    Iterator<String> iter = request.getParameterNames();
    while (iter.hasNext()) {
        if (!ALLOWED_PARAMETERS.contains(iter.next())) {
            return true;
        }//from   w  ww .jav  a  2  s . co m

    }
    return false;
}

From source file:cn.guoyukun.spring.jpa.web.bind.method.annotation.BaseMethodArgumentResolver.java

/**
 * ???uri varaibles  parameters//from w  w  w .  j  a  v a2  s  .  co m
 *
 * @param namePrefix
 * @param request
 * @return
 * @subPrefix ??namePrefix?
 */
protected Map<String, String[]> getPrefixParameterMap(String namePrefix, NativeWebRequest request,
        boolean subPrefix) {
    Map<String, String[]> result = new HashMap<String, String[]>();

    Map<String, String> variables = getUriTemplateVariables(request);

    int namePrefixLength = namePrefix.length();
    for (String name : variables.keySet()) {
        if (name.startsWith(namePrefix)) {

            //page.pn  ? pn
            if (subPrefix) {
                char ch = name.charAt(namePrefix.length());
                //?  . _  ?? ??
                if (illegalChar(ch)) {
                    continue;
                }
                result.put(name.substring(namePrefixLength + 1), new String[] { variables.get(name) });
            } else {
                result.put(name, new String[] { variables.get(name) });
            }
        }
    }

    Iterator<String> parameterNames = request.getParameterNames();
    while (parameterNames.hasNext()) {
        String name = parameterNames.next();
        if (name.startsWith(namePrefix)) {
            //page.pn  ? pn
            if (subPrefix) {
                char ch = name.charAt(namePrefix.length());
                //?  . _  ?? ??
                if (illegalChar(ch)) {
                    continue;
                }
                result.put(name.substring(namePrefixLength + 1), request.getParameterValues(name));
            } else {
                result.put(name, request.getParameterValues(name));
            }
        }
    }

    return result;
}

From source file:com.fengduo.bee.commons.component.FormModelMethodArgumentResolver.java

/**
 * ???uri varaibles  parameters//from   w ww  . ja  v a 2 s  .c  om
 * 
 * @param namePrefix
 * @param request
 * @return
 * @subPrefix ??namePrefix?
 */
protected Map<String, String[]> getPrefixParameterMap(String namePrefix, NativeWebRequest request,
        boolean subPrefix) {
    Map<String, String[]> result = new HashMap<String, String[]>();

    Map<String, String> variables = getUriTemplateVariables(request);

    int namePrefixLength = namePrefix.length();
    for (String name : variables.keySet()) {
        if (name.startsWith(namePrefix)) {

            // page.pn ? pn
            if (subPrefix) {
                char ch = name.charAt(namePrefix.length());
                // ?  . _ ?? ??
                if (illegalChar(ch)) {
                    continue;
                }
                result.put(name.substring(namePrefixLength + 1), new String[] { variables.get(name) });
            } else {
                result.put(name, new String[] { variables.get(name) });
            }
        }
    }

    Iterator<String> parameterNames = request.getParameterNames();
    while (parameterNames.hasNext()) {
        String name = parameterNames.next();
        if (name.startsWith(namePrefix)) {
            // page.pn ? pn
            if (subPrefix) {
                char ch = name.charAt(namePrefix.length());
                // ?  . _ ?? ??
                if (illegalChar(ch)) {
                    continue;
                }
                result.put(name.substring(namePrefixLength + 1), request.getParameterValues(name));
            } else {
                result.put(name, request.getParameterValues(name));
            }
        }
    }

    return result;
}

From source file:org.dspace.app.rest.parameter.resolver.SearchFilterResolver.java

public Object resolveArgument(final MethodParameter parameter, final ModelAndViewContainer mavContainer,
        final NativeWebRequest webRequest, final WebDataBinderFactory binderFactory) throws Exception {
    List<SearchFilter> result = new LinkedList<>();

    Iterator<String> parameterNames = webRequest.getParameterNames();
    while (parameterNames != null && parameterNames.hasNext()) {
        String parameterName = parameterNames.next();

        if (parameterName.startsWith(SEARCH_FILTER_PREFIX)) {
            String filterName = StringUtils.substringAfter(parameterName, SEARCH_FILTER_PREFIX);

            for (String value : webRequest.getParameterValues(parameterName)) {
                String filterValue = StringUtils.substringBeforeLast(value, FILTER_OPERATOR_SEPARATOR);
                String filterOperator = StringUtils.substringAfterLast(value, FILTER_OPERATOR_SEPARATOR);

                result.add(new SearchFilter(filterName, filterOperator, filterValue));
            }//from www.  j  av a  2  s. c  o m
        }
    }

    if (parameter.getParameterType().equals(SearchFilter.class)) {
        return result.isEmpty() ? null : result.get(0);
    } else {
        return result;
    }
}