IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

attribuer styleClass dynamiquement


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    686
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 686
    Par défaut attribuer styleClass dynamiquement
    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?

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Oui.
    Il suffit de définir le styleClass par une expression EL.
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  3. #3
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    686
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 686
    Par défaut
    Citation Envoyé par romaintaz Voir le message
    Oui.
    Il suffit de définir le styleClass par une expression EL.
    merci romaintaz
    mais est ce que tu pourrais me donner un example

  4. #4
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    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.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:outputText ... value="#{monBean.monTexte}" styleClass="#{monBean.monStyle}"/>
    2. Tu fais un peu d'expression EL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:outputText ... value="#{monBean.monTexte}" styleClass="#{monBean.monTexte == 'val1' ? 'cssClass1' : (monBean.monTexte == 'val2' ? 'cssClass2' : 'cssClass3')}"/>
    L'équivalent en code Java de cette ligne est ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    style = monText.equals("val1") ? "cssClass1" : (monText.equals("val2") ? "cssClass2" : cssClass3");
    ou encore :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if (monText.equals("val1")) {
        style = "cssClass1";
    } else if (monText.equals("val2")) {
        style = "cssClass2";
    } else {
        style = "cssClass3";
    }
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  5. #5
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    686
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 686
    Par défaut
    Citation Envoyé par romaintaz Voir le message
    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.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:outputText ... value="#{monBean.monTexte}" styleClass="#{monBean.monStyle}"/>
    2. Tu fais un peu d'expression EL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:outputText ... value="#{monBean.monTexte}" styleClass="#{monBean.monTexte == 'val1' ? 'cssClass1' : (monBean.monTexte == 'val2' ? 'cssClass2' : 'cssClass3')}"/>
    L'équivalent en code Java de cette ligne est ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    style = monText.equals("val1") ? "cssClass1" : (monText.equals("val2") ? "cssClass2" : cssClass3");
    ou encore :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if (monText.equals("val1")) {
        style = "cssClass1";
    } else if (monText.equals("val2")) {
        style = "cssClass2";
    } else {
        style = "cssClass3";
    }
    merci bien romaintaz
    ca marche bien maintenant

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utiliser un styleClass dynamique
    Par sheepolata dans le forum JSF
    Réponses: 4
    Dernier message: 22/10/2010, 10h10
  2. DOM : attribuer / modifier dynamiquement un ID
    Par Protecteur59 dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 20/10/2009, 16h36
  3. Attribuer une feuille de style CSS à un objet crée dynamiquement
    Par Sergejack dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 30/10/2007, 10h23
  4. Attribuer un onclick dynamiquement
    Par Just dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 07/09/2006, 09h01
  5. Réponses: 3
    Dernier message: 17/11/2005, 09h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo