JSF/RichFaces: условный стиль текста

У меня есть строка, которая может быть да или нет, созданная в объекте в Java-поддержке bean. Кажется, я не могу найти лучший способ условно стилизовать текст красного или зеленого цвета в зависимости от того, получает ли JSF "да" или "нет" из bean соответственно. Я использую richfaces, но должен ли я использовать теги <c:if>?

Ответы

Ответ 1

(в порядке предпочтения):

  • style="color: #{yourVar == 'yes' ? 'green' : 'red'};"
  • создайте два <h:outputText> компонента с разными стилями, каждый с другим атрибутом rendered (один #{yourVar == 'yes'} и другой #{yourVar == 'no'})
  • определите функцию (jstl/facelets/jsf 2.0), которая принимает аргумент var как аргумент и возвращает стиль/класс - styleClass="#{my:getStyleClass(yourVar)}"