我有一些使用JQuery动态生成的隐藏输入。例如:
<input type="hidden" name="name1" value="SomeValue1">
<input type="hidden" name="name2" value="SomeValue2">
方法
FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("name1")
返回正确的值SomeValue1
。但是,在运行时我不知道输入名称。如何在不知道名字的情况下获取所有隐藏的输入?
Thansk寻求帮助。
答案 0 :(得分:4)
为它们指定相同的名称,以便您可以使用getRequestParameterValuesMap()
。
<input type="hidden" name="name" value="SomeValue1">
<input type="hidden" name="name" value="SomeValue2">
...
String[] names = externalContext.getRequestParameterValuesMap().get("name");
保证排序与HTML DOM中的顺序相同。
或者,根据您在HTML DOM中的增量整数后缀,您也可以在循环中获取请求参数,直到返回null
。
List<String> names = new ArrayList<>();
for (int i = 1; i < Integer.MAX_VALUE; i++) {
String name = requestParameterMap.get("name" + i);
if (name != null) {
names.add(name);
} else {
break;
}
}