2010-02-08 21 views
13

Tengo una cadena que puede ser sí o no, instanciada en un objeto en un bean de respaldo de Java. Parece que no puedo encontrar la mejor forma de estilo condicionalmente el texto rojo o verde dependiendo de si el JSF obtiene sí o no del grano, respectivamente. Estoy usando richfaces, pero ¿debería usar etiquetas <c:if>?JSF/RichFaces: estilo de texto condicional

Respuesta

23

(en orden de preferencia):

  • style="color: #{yourVar == 'yes' ? 'green' : 'red'};"
  • hacer dos <h:outputText> componentes con diferentes estilos, cada uno con un rendered atributo diferente (una #{yourVar == 'yes'} y el otro #{yourVar == 'no'})
  • definen un (jstl/facelets/jsf 2.0) función que toma var como argumento y devuelve un estilo/clase - styleClass="#{my:getStyleClass(yourVar)}"
+2

en mi humilde opinión, mejor es un método que devuelve el nombre de clase o cadena vacía así: Luke

+5

@Luke, en mi humilde opinión, eso es más desorden en el frijol. No necesita saber nada sobre las cosas específicas de la vista. Una condición ternaria de EL en 'style' o' styleClass' (opción 1 de Bozho) tiene mucho sentido aquí. – BalusC

Cuestiones relacionadas