salut,
j'ai un h:outputText qui peut prendre 3 valeurs
je veut selon la valeur de mon outputText , lui attribuer une class css spécifique
est ce que c'est possible?
Version imprimable
salut,
j'ai un h:outputText qui peut prendre 3 valeurs
je veut selon la valeur de mon outputText , lui attribuer une class css spécifique
est ce que c'est possible?
Oui.
Il suffit de définir le styleClass par une expression EL.
Tu as 2 solutions :
1. Tu définis une méthode getMonStyle() dans le bean Java qui retournera le nom de la classe CSS à utiliser.
2. Tu fais un peu d'expression EL :Code:<h:outputText ... value="#{monBean.monTexte}" styleClass="#{monBean.monStyle}"/>
L'équivalent en code Java de cette ligne est ceci :Code:<h:outputText ... value="#{monBean.monTexte}" styleClass="#{monBean.monTexte == 'val1' ? 'cssClass1' : (monBean.monTexte == 'val2' ? 'cssClass2' : 'cssClass3')}"/>
ou encore :Code:style = monText.equals("val1") ? "cssClass1" : (monText.equals("val2") ? "cssClass2" : cssClass3");
Code:
1
2
3
4
5
6
7 if (monText.equals("val1")) { style = "cssClass1"; } else if (monText.equals("val2")) { style = "cssClass2"; } else { style = "cssClass3"; }