问题
I have a string which can be yes or no, instantiated in an object in a Java backing bean. I can't seem to find the best way to conditionally style the text red or green dependent on whether the JSF gets yes or no from the bean respectively. I'm using richfaces, but should I be using <c:if>
tags?
回答1:
(in order of preference):
style="color: #{yourVar == 'yes' ? 'green' : 'red'};"
- make two
<h:outputText>
components with different styles, each with a differentrendered
attribute (one#{yourVar == 'yes'}
and the other#{yourVar == 'no'}
) - define a (jstl/facelets/jsf 2.0) function that takes the var as argument and returns a style/class -
styleClass="#{my:getStyleClass(yourVar)}"
来源:https://stackoverflow.com/questions/2223539/jsf-richfaces-conditional-text-styling