#attributes #jsf-2 #composite-component
#атрибуты #jsf-2 #составной компонент
Вопрос:
Моя проблема довольно проста: я хочу создать составной компонент со строковым атрибутом Type .
<cc:attribute name="type" />
Этот атрибут будет иметь 3 допустимых значения, [TYPE1, TYPE2, TYPE3]
Можно ли сказать, что мой компонент будет принимать только эти значения?
Ответ №1:
К сожалению, нет, вы не можете установить ограничение на время компиляции / сборки для значения атрибута составного компонента в интерфейсе cc. Однако вы можете установить ограничение времени выполнения, проверив значение в реализации cc.
<ui:param name="type" value="#{cc.attrs.type}" />
<ui:fragment rendered="#{type == 'TYPE1' or type == 'TYPE2' or type == 'TYPE3'}">
<p>The type is TYPE1, TYPE2 or TYPE3.</p>
<p>Write your component's body here.</p>
</ui:fragment>
Это будет ваш лучший выбор.
Комментарии:
1. Спасибо, для меня это не большая проблема… Но я думаю, что это было бы довольно чисто. Неважно!