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

Struts 1 Java Discussion :

Faire un test sur <layout:collectionItem property=Booléen>


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de bbo1991
    Profil pro
    oidfsdfsd
    Inscrit en
    Novembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : oidfsdfsd

    Informations forums :
    Inscription : Novembre 2006
    Messages : 100
    Par défaut Faire un test sur <layout:collectionItem property=Booléen>
    Hello,
    Voilà j'utiliste struts-layout pour paginer mes résultats, et ça marche à merveille .
    Mon problème est que dans ma collection qui est en fait un tableau d'objets Personne, chaque objet Personne possède un attribut "celibatire" de type boolean.

    Quand je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <layout:pager maxPageItems="10">
    <layout:collection name="personnes" styleClass="FORM" id="per"  width="100%">
         <layout:collectionItem property="nom" title="personne.nom" action="/details.do" paramId="idper" paramProperty="ID"/>
         <layout:collectionItem property="age" title="personne.age"/>
         <layout:collectionItem property="celibataire" title="personne.celibat"/>
    </layout:collection>
    </layout:pager>
    Alors, l'affichage me retourne "true" ou "false" pour la colonne celibataire, logique mais j'aimerai afficher autre chose:
    si vrai on affiche "Disponible" sinon on affiche "non".

    Comment peut-on procéder?

  2. #2
    Membre Expert Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Par défaut
    avec logic:equal par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <logic:equal name="personnes" property="celibataire" value="true">
    Disponible
    </logic:equal>
    <logic:equal name="personnes" property="celibataire" value="false">
    Non
    </logic:equal>

  3. #3
    Membre confirmé Avatar de bbo1991
    Profil pro
    oidfsdfsd
    Inscrit en
    Novembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : oidfsdfsd

    Informations forums :
    Inscription : Novembre 2006
    Messages : 100
    Par défaut
    Ok pour <logic:equal>, mais comment l'insérer avec le tag <layout:collectionItem> ???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <layout:collectionItem title="personne.celibat">
       <logic:equal name="personnes" property="celibataire" value="true">
           Disponible
       </logic:equal>
       <logic:equal name="personnes" property="celibataire" value="false">
           Non
       </logic:equal>
    </layout:collectionItem>
    Comme ça?
    Je vais essayer quand même et on verra

  4. #4
    Membre Expert Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Par défaut
    je connais pas bien layout, mais ca devrait fonctionner.

  5. #5
    Membre émérite
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Par défaut
    Bonjour bbo1991,

    Je pense que pour ce que tu veux faire, il faut que tu rajoutes un concept.
    Ton objet Personne est en fait un Objet Valeur (objet métier), il faudrait que tu créés un objet Vue qui reprend cet objet valeur mais avec la notion correspondante de référentiel.

    Exemple :

    Tes listes de libellés sont dans une classe Constante.
    Ta classe personne (métier) contient la donnée en base
    Ta classe personneVue contient une méthode (getCelibat()) qui fait la correspondance entre la valeur de l'objet métier et de la liste de référentiel.

  6. #6
    Membre confirmé Avatar de bbo1991
    Profil pro
    oidfsdfsd
    Inscrit en
    Novembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : oidfsdfsd

    Informations forums :
    Inscription : Novembre 2006
    Messages : 100
    Par défaut
    Resalut,
    yolepro j'ai plus ou moins compris ta réponse mais bon, je suis parvenu à une solution en poussant les tests avec la solution de willoi.

    Alors voilà, d'abord il faut définir un "id" dans le tag <layout:collection>
    Puis accéder à la propriété à tester à partir du bean ainsi défini par l'id, en fait même principe qu'avec <logic:iterator>.
    Le truc c'est que je savais pas qu'on pouvait scinder le tag <layout:collectionItem/> et mettre qlq chose au milieu.
    Le code donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <layout:collection id="unePersonne" name="listePersonne">
    <layout:collectionItem title="personne.celibat">
       <logic:equal name="unePersonne" property="celibataire" value="true">
           Disponible
       </logic:equal>
       <logic:equal name="unePersonne" property="celibataire" value="false">
           Non
       </logic:equal>
    </layout:collectionItem>
    </layout:collection>
    Merci à tous pour les réponses

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

Discussions similaires

  1. faire un test sur une variable
    Par donny dans le forum Langage
    Réponses: 3
    Dernier message: 04/12/2006, 15h55
  2. faire un teste sur le forma de JTextField
    Par Mannoula dans le forum Composants
    Réponses: 2
    Dernier message: 15/06/2006, 00h25
  3. Comment faire un test sur un pchar ?
    Par Mickey.jet dans le forum Langage
    Réponses: 2
    Dernier message: 19/03/2006, 16h53
  4. Comment faire un test sur "" ?
    Par magic8392 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 28/09/2005, 14h19
  5. faire un test sur un programme externe
    Par marieheraud dans le forum Windows
    Réponses: 3
    Dernier message: 02/09/2004, 18h32

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