У меня есть строка, которая может быть да или нет, созданная в объекте в Java-поддержке bean. Кажется, я не могу найти лучший способ условно стилизовать текст красного или зеленого цвета в зависимости от того, получает ли JSF "да" или "нет" из bean соответственно. Я использую richfaces, но должен ли я использовать теги <c:if>
?
JSF/RichFaces: условный стиль текста
Ответ 1
(в порядке предпочтения):
-
style="color: #{yourVar == 'yes' ? 'green' : 'red'};"
- создайте два
<h:outputText>
компонента с разными стилями, каждый с другим атрибутомrendered
(один#{yourVar == 'yes'}
и другой#{yourVar == 'no'}
) - определите функцию (jstl/facelets/jsf 2.0), которая принимает аргумент var как аргумент и возвращает стиль/класс -
styleClass="#{my:getStyleClass(yourVar)}"