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 :

attribut "rendered" abcdef


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de lebesnec
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 82
    Par défaut attribut "rendered" abcdef
    bonjour,

    j'ai un comportement très bizarre de l'attribut rendered :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <h:outputText value="a.val1 is true" rendered="#{a.val1}"/>
    <h:outputText value="a.val2 is true" rendered="#{a.val2}"/>
    <h:outputText value="not a.val1 and not a.val2 is true" rendered="#{!a.val1 && !a.val2}"/>
    le résultat affiché :
    a.val1 is true
    a.val2 is true
    not a.val1 and not a.val2 is true
    ya comme un gros soucis là non ?
    a.val1 et a.val2 valent true visiblement, car les 2 1er outputText sont affichés. Donc !a.val1 && !a.val2 doit valoir false et le dernier ne devrait pas être affiché non ???

    A noter que si je met des valeurs en dur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:outputText value="not a.val1 and not a.val2 is true" rendered="#{!true && !true}"/>
    alors là ça marche ...


    PS : pourquoi ya une règle stupide qui dit que le titre d'un poste doit contenir plus de 2 mots ???

  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
    Si tu essaies ça, ça donne quoi ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <h:outputText value="a.val1 is true" rendered="#{a.val1}"/>
    <h:outputText value="a.val2 is true" rendered="#{a.val2}"/>
    <h:outputText value="not a.val1 and not a.val2 is true" rendered="#{not a.val1 and not a.val2}"/>
    Citation Envoyé par lebesnec Voir le message
    PS : pourquoi ya une règle stupide qui dit que le titre d'un poste doit contenir plus de 2 mots ???
    Parce que !
    (et puis comme ça, on évite les titres du genre "Au secours", "Help !!!", "aidez moi", "une question", "Petit problème")
    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 confirmé Avatar de lebesnec
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 82
    Par défaut
    arf ça y est j'ai compris ...

    c'est vraiment tout moche : si il arrive pas à évaluer l'expression dans le "rendered", il la saute et affiche le truc quand même au lieu de mettre une erreur ...
    Dans mon cas, "a" était null, il plantait donc sur le "a.val1" et au lieu de me mettre un message d'erreur il continue comme si de rien n'était. C'est vraiment pourri comme fonctionnement mais bon.

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

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