1.首先 自定义类 直接复制过去用
package io.bgxt.utis;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
import java.util.Collections;
import java.util.Enumeration;
import java.util.Map;
public class CustomHttpServletRequest extends HttpServletRequestWrapper {
private Map<String, String[]> parameterMap;
public CustomHttpServletRequest(HttpServletRequest request, Map<String, String[]> parameterMap) {
super(request);
this.parameterMap = parameterMap;
}
@Override
public String getParameter(String name) {
String[] values = getParameterValues(name);
if (values != null && values.length > 0) {
return values[0];
}
return null;
}
@Override
public Map<String, String[]> getParameterMap() {
return Collections.unmodifiableMap(parameterMap);
}
@Override
public Enumeration<String> getParameterNames() {
return Collections.enumeration(parameterMap.keySet());
}
@Override
public String[] getParameterValues(String name) {
return parameterMap.getOrDefault(name, new String[0]);
}
}
2.
Map<String, String[]> paramMap = new HashMap<>();
String 字段 = request(原来的请求).getParameter(原来请求里面的参数 key);
paramMap.put(原来请求里面的参数 key, new String[]{字段});
HttpServletRequest newRequest = new CustomHttpServletRequest(request(原来的请求), paramMap);
设置完成的参数 就在 新的请求里面 newRequest
注:(这里只是举例单个,原请求里面有多个参数的话都需要同步过来paramMap.put)