请问如何修改HttpServletRequest的QueryString值,目前可以取到QueryString值进行修改,但要如何修改QueryString后如何再写到HttpServletRequest中呢,我的代码如下:
public static HttpServletRequest ModiQueryString(HttpServletRequest request) { var nv = new NameValueCollection(request.QueryString); foreach (string key in nv.Keys) { nv[key] = "abc"; } //这里怎么把nv赋值给request.QueryString return request; }
代码中注释的那一行如何把修改后的QueryString赋值给request.QueryString呢,request.QueryString是只读的。
理论上很难解决这个问题,网上看到有人说可以解决这个问题,参考如下:
评论可见,请评论后查看内容,谢谢!!!
发表评论
2024-02-28 14:27:15回复
2024-02-28 14:27:09回复
2024-02-28 14:27:00回复
2024-02-28 14:26:50回复
2024-02-28 14:25:23回复
请问你想干嘛!呵呵
2024-02-28 14:25:44回复
2024-02-28 14:24:22回复
2024-02-28 14:25:05回复
http://www.abc.com/query.aspx?key=name
那么这个key和name就是querystring的一个键值对,这个时候比如说你想把用户提交过来的name改成username,那么就是跳转到了http://www.abc.com/query.aspx?key=usernmae
就是一个新地址了,看Google应该是你说的这种需求,你用Google搜索两个词,中间用空格分割的时候,Google实际上是跳转到了 查询结果页?key=string1+string2。。。
但是现在有ajax,不用地址栏变更,用js提交到某个页面,你的页面只是管返回结果的,这个时候你想做到什么效果呢?
再多说一句,既然是get,就是说客户端浏览器只是想提交一个东西,你根据我提交的东西返回过来值的,你修改他何用?
2024-02-28 14:27:49回复
2024-02-28 14:24:38回复