在循环访问集合时将动态 ID 分配给隐藏字段
Assign dynamic ids to hidden fields when iterating over a collection
有没有办法为h:inputHidden
组件分配动态 ID?
编辑1
我正在尝试在迭代元素集合时分配 ui:repeat
标签内的 id。
无法根据<ui:repeat>
的迭代值设置 ID。但无论如何你都不需要它。默认情况下,它们已经根据迭代索引获取动态和唯一 ID。
例如
<h:form id="form">
<ui:repeat value="#{bean.list}" var="item">
<h:inputHidden id="hidden" value="#{item.value}" />
</ui:repeat>
</h:form>
将在视图呈现期间生成此 HTML
<form id="form" name="form">
<input type="hidden" id="form:0:hidden" name="form:0:hidden" value="item1value" />
<input type="hidden" id="form:1:hidden" name="form:1:hidden" value="item2value" />
<input type="hidden" id="form:2:hidden" name="form:2:hidden" value="item3value" />
</form>
如果要手动控制 ID,则需要改用 <c:forEach>
,因为<ui:repeat>
不会生成多个 JSF 组件,而是允许其子组件(在上面的示例中是单个<h:inputHidden>
)多次生成 HTML。该<c:forEach>
将生成多个 JSF 组件,然后每个组件仅生成一次 HTML(因此您实际上最终会在 JSF 组件树中得到多个<h:inputHidden>
组件)。
例如
<h:form id="form">
<c:forEach items="#{bean.list}" var="item">
<h:inputHidden id="#{item.id}" value="#{item.value}" />
</c:forEach>
</h:form>
这基本上将在视图构建时生成此 JSF 组件树
<h:form id="form">
<h:inputHidden id="item1id" value="#{bean.list[0].value}" />
<h:inputHidden id="item2id" value="#{bean.list[1].value}" />
<h:inputHidden id="item3id" value="#{bean.list[2].value}" />
</h:form>
这反过来将在视图呈现期间生成此 HTML
<form id="form" name="form">
<input type="hidden" id="form:item1id" name="form:item1id" value="item1value" />
<input type="hidden" id="form:item2id" name="form:item2id" value="item2value" />
<input type="hidden" id="form:item3id" name="form:item3id" value="item3value" />
</form>
另请参阅:
- JSTL in JSF2 Facelets...意义?
默认情况下,系统会为它们分配一个动态 ID。您还可以指定id="#{..}
对其进行自定义。
您也可以动态添加任何随机数(id="#{}"
),但是
将功能相关的ID添加到隐藏组件中,这将很有帮助
例如,如果是员工表格,您可以添加 EMPID 到其中。
相关文章:
- jQuery插件在为元素分配id时停止工作
- Javascript原型通用Enquries和通过数组索引分配Id
- 使用 JavaScript 为元素分配 ID
- 将一个元素的“分配 ID 值”更改为另一个元素的数据属性
- 为段落文本的一部分分配 ID
- 我无法为已加载的 Java 脚本分配 ID
- JS:如何为新创建的HTML元素分配ID
- 自动分配 ID 的最佳做法
- 为动态生成的HTML标记分配ID
- 将字符串与数组变量混合在一起,为javascript中的元素分配id
- 为表行的所有输入元素分配id和名称
- 如何为动态创建的行分配ID
- 如何在three.js应用程序中为canvas分配id
- 如何通过Selenium为元素分配id
- 如何根据文本查找HTML元素,然后分配ID
- 在Javascript中分配Id并遍历行
- jQuery -为元素分配ID
- 动态加载Div元素并分配id
- 是否可以使用JS/PHP为网页中的元素动态分配ID
- CK编辑-分配ID