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 :

Mauvaise interprétation des EL ?


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 30
    Par défaut Mauvaise interprétation des EL ?
    Bonjour,

    J'ai un pb assez bizarre. Je souhaite réaliser un affichage conditionnel dans une <h:datatable>. Le principe : vérifier sur chaque bean contenu dans ma liste si une propriété dispose d'une valeur spécifique et afficher la ligne de la datable en fonction.

    Actuellement, je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <h:dataTable id="filtersTable" value="#{requeteRci.filters}" var="filter">
     
    <h:column rendered="#{filter.inputValueFilter}">
    	<h:outputText rendered="#{filter.inputValueFilter}" value="Test1" />
    </h:column>
     
    <h:column rendered="#{filter.selectValueFilter}">
    	<h:outputText rendered="#{filter.selectValueFilter}" value="Test2" />
    </h:column>
     
    </h:dataTable>
    où les méthode isInputValueFilter() et isSelectValueFilter() me retournent un boolean.
    Sur mon environnement de dev, tout est OK. En revanche, sur la recette, j'ai l'impression que l'expression définie dans l'attribut "rendered" n'est pas interpretée car rien n'est affiché à l'écran.

    J'ai d'abord pensé que c'était l'attribut "rendered" qui n'était pas interprété mais en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <h:column rendered="true">
    	<h:outputText rendered="true" value="#{filter.inputValueFilter}-" />
    	<h:outputText rendered="true" value="#{filter.type}" />
    </h:column>
    Il m'affiche les données résultant des méthodes filter.isInputValueFilter() et filter.getType(). Là où c'est bizarre c'est que la valeur retournée par isInputValueFilter vaut bien "true"..

    Pourtant le texte "Test1" n'est pas affiché :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <h:column rendered="#{filter.inputValueFilter}">
    	<h:outputText rendered="#{filter.inputValueFilter}" value="Test1" />
    </h:column>
    Le serveur d'app est JBOSS v4.2.2 GA. Sur mon environnement de dev, j'ai laissé le paramétrage par défaut. Donc rien de spécial.. Je n'explique pas pourquoi l'affichage n'est pas correctement effectué sur l'env de recette.

    Avez vous des idées ??

    Merci !

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    tu mets bien ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:column rendered="#{filter.inputValueFilter}">
    au lieu de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:column rendered="{#filter.inputValueFilter}">

  3. #3
    Membre averti
    Inscrit en
    Février 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 30
    Par défaut
    Oui oui, c'était une erreur de copier coller de ma part..

  4. #4
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    quel est l'environnement de la recette? même serveur, même jdk..??
    tu es sur que que le booléen est à true?

  5. #5
    Membre averti
    Inscrit en
    Février 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 30
    Par défaut
    De ce que je sais sur l'installation en recette :
    - même JDK
    - même version de JBOSS (en revanche je connais pas précisément les réglages du JBOSS)

    Seul l'OS change (ça doit être une RedHat, alors que sur mon env de dev, je suis sous Windows XP)

    Pour la valeur booléenne a "true", j'en suis sur à 200%, l'accesseur isInputValueFilter() retourne "true" systématiquement.

    EDIT: j'ai aussi essayé de passer par JSTL avec des tests conditionnels (<c:if> et <c:choose>) mais j'ai l'impression que les élements JSTL n'accedaient pas à la variable d'itération de ma <h:datatable>. (idem sur les 2 environnements cette fois ci), c'est pourquoi, je me concentre sur l'évaluation des EL des attributs "rendered" pour le moment. Mais je suis preneur d'une autre méthode d'affichage conditionnel.

  6. #6
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    et la version JSF que tu utilise?

    tu as essayé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:outputText value="#{filter.inputValueFilter}" />
    et les getter/setter sont bien déclarés?

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

Discussions similaires

  1. [xsl] mauvaise interprétation du contenu d'une balise XML
    Par Cédric B. dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 27/01/2006, 12h59
  2. firefox - mauvaise gestion des passwords
    Par photorelief dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 10/06/2005, 09h02
  3. Réponses: 2
    Dernier message: 19/10/2004, 09h55
  4. DBCC SQLPERF ( LOGSPACE ) Interprétation des résultats
    Par Labienus dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 20/07/2004, 15h50
  5. Réponses: 3
    Dernier message: 04/09/2002, 09h42

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