gpt4 book ai didi

java - request.getParameterNames() 的顺序

转载 作者:搜寻专家 更新时间:2023-10-30 19:42:55 25 4
gpt4 key购买 nike

如何获取 HTML 表单中的所有 parameterNames相同的序列?

例子:

  • 如果表单包含FirstNameLastNameAge

  • 输出应该完全出现在相同的序列

我试过使用以下方法,但这改变了输出顺序:

Enumeration paramNames = request.getParameterNames();
while(paramNames.hasMoreElements()) {
String paramName = (String) paramNames.nextElement();
out.print(paramName);
}

最佳答案

我认为 HTTP 规范中没有任何内容强制浏览器按照参数在表单中出现的顺序发送参数。您可以通过在参数名称前加上数字前缀来解决这个问题,例如:

FirstName --> 0_FirstName
LastName --> 1_LastName
...

之后,您基本上可以按前缀对元素进行排序。这是一个丑陋的解决方案,但它是唯一的方法。像这样的东西:

// Assuming you fill listOfParameters with all the parameters
Collections.sort(listOfParameters, new Comparator<String>() {
int compare(String a,String b) {
return Integer.getInt(a.substring(0,a.indexOf("_"))) -
Integer.getInt(a.substring(0,b.indexOf("_")))
}
});
for (String param : listOfParameters) {
// traverse in order of the prefix
}

顺便问一下 - 接收参数的顺序真的很重要吗?

关于java - request.getParameterNames() 的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4733373/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com