由于 preHandle 中HttpServletRequest 只有setAttribute而没有setParameter也没有 add方法
所以是没办法直接添加参数的。从网上查了很多资料,基本都是说要重写HttpServletRequestWrapper
说干就干,通过网上查博客看看别人的实现方式,可能因为自己底子不够扎实吧,很多都看不懂,摸索了
一天总算是弄出来了。现在记录一下,方便以后查阅。
首先,创建一个ChangeRequestWrapper 类继承HttpServletRequestWrapper,代码如下
packagecom.ccs.ssmis.common.interceptors;importcom.ccs.ssmis.common.redis.RedisUtils;importcom.ccs.ssmis.common.utils.Constants;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletRequestWrapper;importjava.lang.reflect.InvocationTargetException;importjava.lang.reflect.Method;import java.util.*;public class ChangeRequestWrapper extendsHttpServletRequestWrapper {private Map parameterMap; //所有参数的Map集合
publicChangeRequestWrapper(HttpServletRequest request) {super(request);
parameterMap=request.getParameterMap();
}
/*** 获取所有参数名