对不起这个简单的问题。我正在学习使用 JSF 2.2 创建表单并尝试使其尽可能接近纯 HTML5。我有一个 ui:repeat 生成的列表,如下所示:
<ul id="nameLst">
<ui:repeat var="d" value="#{controller.names}" varStatus="status">
<li>
<input
jsf:id="nameTxt"
jsf:binding="#{nameTxt}"
jsf:value="#{d}"
type="hidden" />#{d}
</li>
</ui:repeat>
</ul>
它被渲染成这样:
<ul id="nameLst">
<li>
<input id="j_idt14:0:nameTxt" name="j_idt14:0:nameTxt" value="Name1" type="hidden">
Name1
</li>
<li>
<input id="j_idt14:1:nameTxt" name="j_idt14:1:nameTxt" value="Name2" type="hidden">
Name2
</li>
</ul>
现在,我正在尝试将仅使用 JavaScript 的名称添加到此列表中。问题是,我怎样才能控制这个生成的 id,所以我可以在 JavaScript 中使用它。主要是,如果列表开始为空,我如何生成这个 id 以便它可以正确地发布回托管 bean。