jsp include 参数混乱,获取到请求主页面的参数了,清空request parameter
来源:互联网 发布:图片收费网站源码 编辑:程序博客网 时间:2024/05/17 03:57
项目中有一个include方法(页面是html),但是是实现上有一些问题,记录下来,有缘人看到希望能帮到你。
当运用jsp include(我这里是用的html,里面自己写了一个include方法)的时候,如果主页面请求带了参数,比如:/home.jsp?id=1,但是在页面include的时候:detail.jsp?name=1&id=2,在这种情况下,我们从request里面获取到的id就是 ,这有时候让人有点头痛,那么怎么才能把上一次的request里面的参数清空呢,大多数人都会想到如下方法:
request.getParameterMap().clear();
那么我恭喜你,思路对了,但是方法错了,等待你的将是:No modifications are allowed to a locked ParameterMap瞬间头大了,当然我这里要说的不是他,既然不能直接清空request里面的参数,那么我们需要将request重写,如下:
class MyHttpServletRequestWrapper extends HttpServletRequestWrapper {private Map params;public MyHttpServletRequestWrapper(HttpServletRequest originalRequest) {super(originalRequest);params = new HashMap();}public Map getParameterMap() {return params;}public String getParameter(String name) {return (String) params.get(name);}public Enumeration getParameterNames() {return Collections.enumeration(params.keySet());}public String[] getParameterValues(String name) {return (String[]) params.get(name);}}
将request里面获取和设置参数的方法重写过后,这里面的参数就可以随意更改和设置了
MyHttpServletRequestWrapper msr = new MyHttpServletRequestWrapper(request); // 清空String url_path = includePath.indexOf("?") > 0 ? includePath.substring(0, includePath.indexOf("?")) : includePath;String query = includePath.indexOf("?") > 0 ? includePath.substring(includePath.indexOf("?") + 1) : "";String[] params = query.split("&");for (String param : params) {if ((param != null) && (!param.equals(""))) {String[] list = param.split("=");if (list.length == 2) {msr.params.put(list[0], new String[]{list[1]});}}}
0 0
- jsp include 参数混乱,获取到请求主页面的参数了,清空request parameter
- jsp获取Request请求参数
- struts使用bean:parameter标签获取request提交的参数
- request的请求参数获取方式
- 获取请求request中的参数
- ExtJs.ajax.request请求参数为空的解决办法
- JSP 获取Request 常用参数
- Spring MVC怎么获取request的请求参数
- 从request对象中获取请求json格式的参数
- Android:返回主页面application清空?
- jsp的request.getParameter获取不到表单参数
- jsp中request经常是的获取参数的方法总结
- Javascript 获取Request请求参数实现
- 从 request 中获取请求参数
- 从request中获取所有请求参数
- 通过request.getParameterMap()动态获取请求参数。
- jstl 获取Parameter参数
- JSTL获取Parameter参数
- UI -- UITableView 数据源协议与委托协议
- 文学的体裁与文学理论
- 已取消到该网页的导航
- [hihoCoder 太阁最新面经算法竞赛6] 数组重排(N个数的最小公倍数)
- Ubuntu 14.04 LTS 乱码问题
- jsp include 参数混乱,获取到请求主页面的参数了,清空request parameter
- EL表达式详解
- 火蔓延的迷宫
- Axure实现QQ个性签名
- Android Camera HAL3中预览preview模式下的数据流
- CPU中的Little Endian与Big Endian
- 微信hit push hold !!
- 黑马程序员_Java基础_我的Day25学习笔记
- 元素不可用的三种样式