Это возможно только при использовании тега времени построения представления, такого как JSTL <c:if>
.
<c:if test="#{editable}">
<rich:calendar id="entityDate" />
</c:if>
<c:if test="#{!editable}">
<h:outputText id="entityDate" />
</c:if>
(обратите внимание, что это не будет работать внутри JSF-компонента iterablte, такого как <ui:repeat>
, <h:dataTable>
и т. Д.)
В конце концов, я настоятельно рекомендую вместо этого воспользоваться атрибутом disabled
, при необходимости с хорошим снимком CSS, чтобы скрыть границы поля ввода и так далее. Это сведет к минимуму исходный код JSF.
<rich:calendar id="entityDate" disabled="#{!editable}" />
Отключенные входные данные могут отдельно настраиваться с помощью селектора атрибутов CSS element[attribute]
, например,
input[disabled] {
border: 0;
}
Приведенное выше удаление границы элементов input
с присутствующим атрибутом disabled
делает его похожим на обычный выводимый текст.