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 :

utilisation de condition de retour d'un bean dans une page jsf


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2008
    Messages : 38
    Par défaut utilisation de condition de retour d'un bean dans une page jsf
    Bonjour,

    j'affiche un texte avec la concaténation de 2 valeurs d'un bean de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <ice:outputText value="#{bean.model}/#{bean.type}"/>
    Pour ça tout va bien, mais si les 2 valeurs sont vides je ne voudrais rien affiché, or actuellement j'ai le caractère '/' qui s'affiche, ce qui est normal.
    Serait-il possible d'ajouter une condition du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((bean.model == null || bean.model.equals("")) && (bean.type == null || bean.type.equals(""))) ? "" : bean.model/bean.type
    je l'ai vu quelque part une fois que c'était possible mais je ne retrouve pas la syntaxe exacte pour inclure cette condition dans le champs value de mon ice:outputText.

    Merci par avance.

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    oui on peut mettre des conditions dans les expression régulières:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #{empty bean.model?'Pas de modèle':bean.model}
    mais, non tu ne poura pas facilement faire ce que tu veux, car tu as un '/', ce qui impliquerais de faire une concaténation dans l'expression language (ce que el ne supporte pas en base)

    Suggestion peut être:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <ice:outputText value="#{empty bean.model? 'sans modèle' : bean.model}/#{empty bean.type? 'sans type' : bean.type}"/>
    ainsi t'aura par exemple "sans modèle/sans type"

  3. #3
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    456
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 456
    Par défaut
    Tu peux aussi faire ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    String getValue()
    {
     if ( var1.equals("") && var2.equals(""))
    	return "";
     else
    	return var1 + "/" + var2;
     
    }
     
    <ice:outputText value="#{bean.value}"/>

  4. #4
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2008
    Messages : 38
    Par défaut
    Bonjour,

    merci pour vos réponses.
    voici ce que j'ai comme condition actuellement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <ice:outputText value="#{(empty bean.model and empty bean.type) ? '' : (bean.model + '/' + bean.type)}"/>
    Pour le coup, la condition est bien évalué mais lors de la génération de la chaine concaténée j'ai une exception :
    GRAVE: Une exception s'est produite lors d'une tentative de conversion de la chaîne "LAN" en type "java.lang.Long"
    je présume que c'est les '+' de la concaténation qu'il n'apprécie pas.

    pour info, j'avais pensé à ta solution Esil2008, mais ce n'ai pas ce que je recherche, car j'ai des conditions à plusieurs endroits, et je ne veut pas mettre ça dans mon bean

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    comme je l'ai dit
    impliquerais de faire une concaténation dans l'expression language (ce que el ne supporte pas en base)

  6. #6
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2008
    Messages : 38
    Par défaut
    effectivement, j'avais zappé la suite de ta réponse

    mais sinon j'ai trouvé une solution de contournement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <ice:outputText value="#{bean.model}#{(empty bean.model and empty bean.type) ? '' : '/'}#{bean.type}"/>

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

Discussions similaires

  1. [Toutes versions] Conditions "Si Saisie de Certaines Textbox" dans une page
    Par KOUZINE dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/05/2012, 18h11
  2. Comment passer un bean d'une page jsf a une autre
    Par Linos1003 dans le forum JSF
    Réponses: 5
    Dernier message: 27/09/2011, 17h21
  3. Réponses: 3
    Dernier message: 09/02/2010, 08h20
  4. retour automatique apres clic dans une page
    Par coconiut dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 31/01/2009, 18h58
  5. Déclaration et utilisation de Bean dans une JSP
    Par sam.fet dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 26/02/2007, 16h39

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