为什么HttpServletRequest#getParameterValues(“key”)将分号识别为分隔符?
问题描述:
我很难过。我认为&
和;
是查询参数的有效分隔符。为什么HttpServletRequest#getParameterValues(“key”)将分号识别为分隔符?
看来,Tomcat的7 HttpServletRequest.getParameterValues("key")
不会承认我的参数时,它是这样的:
http://acme.com/my.jsp?x=1;y=2;z=3
如果我去这里,有分号提到:
http://en.wikipedia.org/wiki/Query_string
有没有办法强制tomcat 7在这个方法中识别它们?还是有更好的方法来使用?
谢谢。
答
对于关闭,这是错误报告概述了为什么Tomcat的7不查询参数中识别分号作为分隔符
https://issues.apache.org/bugzilla/show_bug.cgi?id=39740
它被标记为之前的最后注释“不会解决“是,这可以通过实施自定义过滤器来解决。这当然是真的。
感谢大家谁回答。
您是否从HTML内部发送该URL,并且在'
'之外发送该URL? – EJP 2014-10-02 22:17:36链接到相关w3.org“性能,实现和设计说明”,[B.2.2 URI属性值中的&符号](http://www.w3.org/TR/1999/REC-html401-19991224/appendix/) notes.html#hB.2.2) – 2014-10-02 22:22:08
先前在这里回答的排序 - http://stackoverflow.com/a/7287629/775715 – 2014-10-02 22:33:17