动态获取 JSF 中所有隐藏的输入字段
Get all hidden input fields in JSF dynamically
我有一些使用 JQuery 动态生成的隐藏输入。例如:
<input type="hidden" name="name1" value="SomeValue1">
<input type="hidden" name="name2" value="SomeValue2">
方法
FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("name1")
returns 值 SomeValue1
是正确的。但是,在运行时我不知道输入名称。如何在不知道其名称的情况下获取所有隐藏的输入?
感谢帮助。
给他们一个相同的名字,这样你就可以用getRequestParameterValuesMap()
代替。
<input type="hidden" name="name" value="SomeValue1">
<input type="hidden" name="name" value="SomeValue2">
...
String[] names = externalContext.getRequestParameterValuesMap().get("name");
顺序保证与HTMLDOM.
中的顺序相同
或者,根据您在 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;
}
}
我有一些使用 JQuery 动态生成的隐藏输入。例如:
<input type="hidden" name="name1" value="SomeValue1">
<input type="hidden" name="name2" value="SomeValue2">
方法
FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("name1")
returns 值 SomeValue1
是正确的。但是,在运行时我不知道输入名称。如何在不知道其名称的情况下获取所有隐藏的输入?
感谢帮助。
给他们一个相同的名字,这样你就可以用getRequestParameterValuesMap()
代替。
<input type="hidden" name="name" value="SomeValue1">
<input type="hidden" name="name" value="SomeValue2">
...
String[] names = externalContext.getRequestParameterValuesMap().get("name");
顺序保证与HTMLDOM.
中的顺序相同或者,根据您在 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;
}
}