Атрибут rendered
(и disabled
и readonly
) не обязательно ожидает метод получения, который возвращает boolean
, например:
public boolean getBooleanValue() {
return this.booleanValue;
}
Эти атрибуты ожидают логическое выражение , которое может быть любым из следующих примеров:
<h:someComponent rendered="#{myBean.booleanValue}" />
<h:someComponent rendered="#{myBean.intValue > 10}" />
<h:someComponent rendered="#{myBean.objectValue == null}" />
<h:someComponent rendered="#{myBean.stringValue != 'someValue'}" />
<h:someComponent rendered="#{!empty myBean.collectionValue}" />
<h:someComponent rendered="#{!myBean.booleanValue && myBean.intValue != 0}" />
<h:someComponent rendered="#{myBean.stringValue == 'oneValue' || myBean.stringValue == 'anotherValue'}" />
Кстати, префикс is
также допустим для boolean
геттеров:
public boolean isBooleanValue() {
return this.booleanValue;
}
Вы можете обернуть любой API, который Spring Security использует в геттере, и использовать его в логическом выражении EL одним из вышеупомянутых способов.