package com.moral.monitor.util;
|
|
import java.util.Enumeration;
|
import java.util.Map;
|
import java.util.TreeMap;
|
|
import javax.servlet.ServletRequest;
|
|
import org.apache.commons.lang3.StringUtils;
|
import org.springframework.util.Assert;
|
|
public class WebUtils extends org.springframework.web.util.WebUtils {
|
|
public static Map<String, Object> getParametersStartingWith(ServletRequest request, String prefix) {
|
Assert.notNull(request, "Request must not be null");
|
Enumeration<String> paramNames = request.getParameterNames();
|
Map<String, Object> params = new TreeMap<String, Object>();
|
if (prefix == null) {
|
prefix = "";
|
}
|
while (paramNames != null && paramNames.hasMoreElements()) {
|
String paramName = paramNames.nextElement();
|
if ("".equals(prefix) || paramName.startsWith(prefix)) {
|
String unprefixed = paramName.substring(prefix.length());
|
String[] values = request.getParameterValues(paramName);
|
if (values == null || values.length == 0 ) {
|
// Do nothing, no values found at all.
|
}
|
else if (values.length > 1) {
|
params.put(unprefixed, values);
|
}
|
else {
|
if (StringUtils.isNotBlank(values[0])) {
|
params.put(unprefixed, values[0]);
|
}
|
}
|
}
|
}
|
return params;
|
}
|
|
}
|