gpt4 book ai didi

java - 如何设置h :selectBooleanCheckbox dynamically?的id

转载 作者:行者123 更新时间:2023-11-30 04:59:10 25 4
gpt4 key购买 nike

我有

<wai:collectionIter value="#{listModel.listRows}" valueVar="listRow" odd="odd" even="even" styleVar="rowStyle">
<tr class="#{rowStyle}">
<td>
<h:selectBooleanCheckbox value="#{listRow.rowSelected}" disabled="#{detailModel.readOnly}">
<c:set target="#{component}" property="id" value="#{listRow.rowData.name}"/>
</h:selectBooleanCheckbox>
</td>
<ui:insert name="columnData"/>
</tr>
</wai:collectionIter>

(其中 wai:collectionIter 是自定义标签)

但是相应的html代码看起来像

<td>
<c:set target="javax.faces.component.html.HtmlSelectBooleanCheckbox@10cd160" property="id" value="BusinessUnitNumber"></c:set><input type="checkbox" name="searchForm:j_idt100" /
</td>

我必须说 c:set target="#{component}"来 self 在其他地方找到的示例......

由于我不是 JSF 专家,并且假设它是正确的,因此我预计生成的 html 是这样的:

<td>
<input id="BusinessUnitNumber" type="checkbox" name="BusinessUnitNumber"
</td>

这是完全错误的还是我错过了其他东西?

感谢您的帮助。

弗朗西斯科

最佳答案

只需使用标准 JSF 迭代组件而不是模糊的自定义标记。例如。 <ui:repeat> :

<ui:repeat value="#{listModel.listRows}" var="listRow" varStatus="loop">
<tr class="#{loop.even ? 'even' : 'odd'}">
<td>
<h:selectBooleanCheckbox
id="foo"
value="#{listRow.rowSelected}"
disabled="#{detailModel.readOnly}" />
</td>
<ui:insert name="columnData"/>
</tr>
</ui:repeat>

它会担心 ID 的唯一性。它将把行索引添加到给定的固定 ID 之前,如下所示:

<tr class="odd"><td><input type="checkbox" name="formid:repeatid:0:foo" id="formid:repeatid:0:foo" /></td></tr>
<tr class="even"><td><input type="checkbox" name="formid:repeatid:1:foo" id="formid:repeatid:1:foo" /></td></tr>
<tr class="odd"><td><input type="checkbox" name="formid:repeatid:2:foo" id="formid:repeatid:2:foo" /></td></tr>

可以通过 id="#{listRow.rowData.name}" 使其动态化,但这不是必要的。

关于java - 如何设置h :selectBooleanCheckbox dynamically?的id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7514248/

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