2010-02-08 2 views
13

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

ответ

23

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

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

IMHO, лучше метод, который возвращает имя класса или пустую строку так: Luke

+5

@ Luke, IMHO, это только больше беспорядок в компоненте. Ему не нужно ничего знать о специфичных для представления материалах. Тестовое условие EL в стиле 'style' или' styleClass' (вариант 1 от Bozho) имеет здесь смысл. – BalusC

Смежные вопросы