<f:selectItem>
- это обработчик тега (который вычисляется во время построения представления), а не компонент JSF (который оценивается во время визуализации представления).Вы можете показать / скрыть его только с помощью другого обработчика тегов, такого как JSTL <c:if>
.
<h:selectOneRadio value="#{bean.selectedItem}">
<f:selectItem itemValue="ALL" itemLabel="#{ONE}" />
<c:if test="#{!bean.showPrivate}">
<f:selectItem itemValue="PRIVATE" itemLabel="#{TWO}" />
</c:if>
<f:selectItem itemValue="GROUP" itemLabel="#{THREE}" />
</h:selectOneRadio>
Только когда #{bean}
был подготовлен во время визуализации представления с помощью итеративного компонента JSF, такого как <h:dataTable>
или <ui:repeat>
, тогда вышеупомянутое не сработает, и вам действительно придется сделать это в коде бэк-компонента.