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

Taglibs Java Discussion :

Problème de c:choose


Sujet :

Taglibs Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2007
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 29
    Par défaut Problème de c:choose
    Bonjour,

    J'ai ceci dans un <t:columns> d'un dataTable dynamique:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <f:facet name="header">
    <h:outputText value="#{col2.nom_variable}"/>
    </f:facet>
    <c:choose>
    <c:when test='#{"col2.type_erreur" == "1"}'><h:outputText value="#{col2.valeur}"/></c:when>
    <c:when test='#{"col2.type_erreur" == "2"}'><h:outputText value="#{col2.valeur}" styleClass="import_type_error_insertion"/></c:when>
    <c:when test='#{"col2.type_erreur" == "3"}'><h:outputText value="#{col2.valeur}" styleClass="import_type_error_valeurimpossible"/></c:when>
    <c:when test='#{"col2.type_erreur" == "4"}'><h:outputText value="#{col2.valeur}" styleClass="import_type_error_valeurborne"/></c:when>
    <c:when test='#{"col2.type_erreur" == "5"}'><h:outputText value="#{col2.valeur}" styleClass="import_type_error_valeurmultiple"/></c:when>
    <c:otherwise><h:outputText value="#{col2.valeur}"/><h:outputText value="otherwise"/></c:otherwise>
    </c:choose>			
    <f:verbatim><br/></f:verbatim>
    <h:outputText value="#{col2.type_erreur}"/>

    Problème : Impossible de faire fonctionner les test.
    J'ai essayé toute sorte de possibilité avec les " ", les ' ', le $ à la place du #, etc ... mais rien ne marche.

    col2.type_erreur est un int qui est correctement récupérer. Je l'affiche dans tous les cas.

    De plus, si à la place d'un col2.type_erreur" == "X", je met "True". le test est effectué --> j'en déduis que l'erreur vient de mon égalité. Mais impossible de définir quoi exactement.

    vous avez des idées ?

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Tu ne mélangerais pas un peu JSF et JSTL ?

    En JSTL, j'aurais plutôt écrit ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <c:when test="${col2.type_erreur == '1'}">

  3. #3
    Membre averti
    Inscrit en
    Février 2007
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 29
    Par défaut
    Oui, sans doute.
    A force de chercher une solution. J'ai tout mélangé.


    Je viens d'essayer ton conseil mais cela ne marche pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <c:when test="${col2.type_erreur == '3'}">
    Toujours la partie <otherwise> qui est lancèe.

    Je ne sais plus trop vers ou chercher.
    ++

  4. #4
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Si col2.type_erreur est un int, essaie plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <c:when test="${col2.type_erreur == 3}">

  5. #5
    Membre averti
    Inscrit en
    Février 2007
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 29
    Par défaut
    Je viens de tester ... aucun changement.

    J'ai tellement joué avec les " " ou ' ' que je ne pense pas que l'erreur provienne des guillemets.

    Ya vraiment quelque chose qui m'échappe.

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Par défaut
    Et qu'est-ce que ca donne si tu ajoutes un test du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <% System.out.println(col2.getType_erreur()); %>
    => Question : as-tu bien des accesseurs sur l'attribut type_erreur (qui serait, soit dit en pasant, très content d'être renommé en "typeErreur") ?

  7. #7
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    si col2.type_erreur était de type String, il faudrait coder ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <c:when test="${col2.type_erreur eq '3'}">
    mais comme tu dis qu'il est de type int, il est logique d'enlever les quotes et d'utiliser le ==.

    Tu es bien certain qu'il est de type int ?

Discussions similaires

  1. [XSLT] Problème de choose
    Par Nicolas BOURDON dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 04/06/2009, 14h07
  2. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18
  3. Problème d'impression
    Par IngBen dans le forum C++Builder
    Réponses: 7
    Dernier message: 22/05/2002, 11h37
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10
  5. Réponses: 6
    Dernier message: 25/03/2002, 21h11

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