可能重复:
Ordering of values in HttpServletRequest.getParameterValues()请求帕拉姆订购
我们基于J2EE的Web应用程序。在服务器端,我们希望以与客户端浏览器发送的顺序完全相同的顺序获取参数。 我们尝试了request.getParameterMap()和request.getParameterNames(),但这些方法不会以与客户端浏览器发送的顺序相同的顺序返回参数。
我们怎样才能以完全相同的顺序在客户端浏览器发送的参数?
可能重复:
Ordering of values in HttpServletRequest.getParameterValues()请求帕拉姆订购
我们基于J2EE的Web应用程序。在服务器端,我们希望以与客户端浏览器发送的顺序完全相同的顺序获取参数。 我们尝试了request.getParameterMap()和request.getParameterNames(),但这些方法不会以与客户端浏览器发送的顺序相同的顺序返回参数。
我们怎样才能以完全相同的顺序在客户端浏览器发送的参数?
请求参数存储在地图的内部,因此您不应该对它们的顺序做任何假设。
但是,你为什么不直接阅读它们,然后对它们进行排序呢?
这甚至不涉及Java。 你甚至不能依靠浏览器以特定的顺序发送请求参数。 除了@mgamer指出的那样,你不能对参数顺序做出假设。
如果您需要按照某种预定义的顺序阅读参数,您可以做些什么,即创建一些方案,您可以轻松地做到这一点。例如发送一个JSON对象或使用一些简单的格式,如param1=val¶m2=another-val
等
这是梅尔默的答案,我刚刚编辑了一个错字。 – Bozho 2010-09-09 13:01:17
哎呀,对不起@bozho – 2010-09-18 19:34:25
我不知道为什么我们需要依赖发送参数的顺序。你能否知道为什么要这样做,可能是你可以用其他方法解决问题。
重复的http://stackoverflow.com/questions/2317281/ordering-of-values-in-httpservletrequest-getparametervalues – skaffman 2010-09-09 11:22:23