我有一个包含 id 列表的托管 bean。当我使用数据表遍历该列表时,我使用 ah:selectBooleanCheckbox 并将 id 值分配给它,如下所示:
<h:selectBooleanCheckbox value = "#{managedBean.objectMap[<objectKey>]}">
但是,在呈现页面后,我没有看到正在呈现的 value 属性。所以我想知道为什么它没有被渲染?
我有一个包含 id 列表的托管 bean。当我使用数据表遍历该列表时,我使用 ah:selectBooleanCheckbox 并将 id 值分配给它,如下所示:
<h:selectBooleanCheckbox value = "#{managedBean.objectMap[<objectKey>]}">
但是,在呈现页面后,我没有看到正在呈现的 value 属性。所以我想知道为什么它没有被渲染?
但是,在呈现页面后,我没有看到正在呈现的 value 属性。所以我想知道为什么它没有被渲染?
因为它与触发Boolean
. 仅取决于 HTML状态的请求参数null
是否足以表示一个. 无论如何都不支持非值。null
checked
Boolean
<h:selectBooleanCheckbox>
Boolean
如果您绝对肯定您需要一个复选框值,请<h:selectManyCheckbox>
仅将其中一个与单个项目一起使用。
<h:selectManyCheckbox value="#{bean.selectedValues}">
<f:selectItem itemValue="#{bean.someValue}" itemLabel="#{null}" />
</h:selectManyCheckbox>
或者,如果它实际上是出于 JavaScript 目的(我只是猜测,因为您在 JSF 问题上混淆地标记了javascript而没有在任何地方解释其相关性),那么您也可以使用 HTML5data
属性,您可以将其设置为 passthrough 属性(需要 JSF 2.2)。
<html ... xmlns:a="http://xmlns.jcp.org/jsf/passthrough">
...
<h:selectBooleanCheckbox value="#{bean.someBoolean}" a:data-value="#{bean.someValue}" />
它将在 JS 中可用,如下所示:
var value = element.dataset.value;
或 jQuery:
var value = $(element).data("value");