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 :

Combiner <bean:message> avec <bean:write>


Sujet :

Struts 1 Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 58
    Points : 30
    Points
    30
    Par défaut Combiner <bean:message> avec <bean:write>
    Bonjour à tous

    J'ai un petit soucis concernant les tags bean : en gros dans mes fichiers d'internationalisation (fichiers properties) j'ai les clés suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    lang_fr.properties :
    cle=Le PC portable de {0}
     
    lang_en.properties :
    cle={0}'s laptop
    Pour afficher le message dans ma JSP, j'écris donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <bean:message key="cle" arg0="Machin" />
    Mon blem, c'est que le nom "Machin" devrait venir d'un bean, que j'accède facilement en faisant par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <bean:write name="userBean" property="firstname" />
    En gros je souhaite savoir comment faire correspondre la propriété "firstname" de mon bean "userBean" avec la valeur de "arg0" dans la balise <bean:message>... J'ai pensé qu'il faudrait utiliser les tags <nested:#> qui ont l'air plus complets mais je ne sais pas les utiliser, ni ne trouve d'exemples sur le net. Tiens j'en profite d'ailleurs pour demander en quoi les tags <nested:#> sont vraiment utiles (avec des exemples si possible ? ).

    J'avais trouvé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <bean:write name="userBean" property="firstname" formatKey="cle" />
    Mais ça ne fonctionne pas, seul le nom est affiché. Peut être un blem de bundle vu que je ne peux pas le préciser (les fichiers properties switchent en changeant de langue).
    J'ai vu aussi quelque chose de semblable à mettre arg0="<% $s %>" et initialiser $s avec la propriété du bean, mais on s'éloigne des standards Struts, ce que je voudrais absolument éviter.

    Voilà merci d'avance !

  2. #2
    Membre régulier
    Inscrit en
    Août 2004
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 171
    Points : 97
    Points
    97
    Par défaut
    J'ai vu aussi quelque chose de semblable à mettre arg0="<% $s %>" et initialiser $s avec la propriété du bean, mais on s'éloigne des standards Struts, ce que je voudrais absolument éviter.
    Je ne sais pas si c'est si mal que ça, en tout cas ça donneré ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <bean:message key="cle" arg0="${userBean.firstname}" />

  3. #3
    Membre actif Avatar de petitpasdelune
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 221
    Points : 231
    Points
    231
    Par défaut [Struts] peut-être une réponse
    Pas possible à mon avis, vu qu'il n'y a qu'une passe pour l'interprétation des tags.

    Si je me trompe, je suis preneur de la solution.

    PPDL

  4. #4
    Membre actif
    Inscrit en
    Mai 2005
    Messages
    217
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 217
    Points : 220
    Points
    220
    Par défaut
    bah tu as toujours un moyen ... meme si c'est un peu de la bidoule ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <bean:message key="cle.deb"/>
     <bean:write name="userBean" property="firstname" />
    <bean:message key="cle.fin"/>
    lang_fr.properties :
    cle.deb=Le PC portable de
    cle.fin=

    lang_en.properties :
    cle.deb=
    cle.fin='s laptop

    Ca marche ... mais ca reste de la bidouille (ca a au moins le merite de ne pas faire intervenir de scriplet )

  5. #5
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 64
    Points : 46
    Points
    46
    Par défaut
    bonjour,
    la meilleur facon a mon avis est d'utiliser les JSTL combiné avec les tag STRUTS telecharge le jstl.jar et Standart.jar et copie les dans don web-inf .
    dans ta jsp tu ajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    et puis tu ajoute dans ton code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <bean:message key="cle" arg0="${userBean.firstname}" />

    sa va marcher , d'ailleur moi aussi j'etais confrenté au meme probleme et je l' ai résolu ainsi



    Cordialement , abdess6600

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 58
    Points : 30
    Points
    30
    Par défaut
    La méthode de metalpetsFR me semble la meilleure (merci à vos propositions ) ; mais n'y a-t-il pas une méthode plus orienté Struts avec combinaison de tags ? D'où mon interrogation sur les tags "nested", vu que je ne sais pas à quoi ils servent...

    On les utilise dans quels cas précis ceux là ?

  7. #7
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 64
    Points : 46
    Points
    46
    Par défaut
    Bonjour,

    un exemple d'utilisation de nested :

    loseque tu veux passer en parametre une collection d'objet , cette collection sera listé dans un formulaire dans ta page JSP . dans le meme formulaire tu effectue des changements et tu submit pour retourner dans la meme jsp et afficher dans le meme formulaire avec une ligne de plus (par exemple) ,
    le nested:iterate jère de facon dynamique l'indexation de ta collection (property=maCollection) et il sufit de getMaCollection() et du setMaCollection() dans ton FormBean pour manipuler ta collection



    Cordialement , abdess6600

  8. #8
    Membre actif
    Inscrit en
    Mai 2005
    Messages
    217
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 217
    Points : 220
    Points
    220
    Par défaut
    Tout le monde apprécie ton aide abdess6600 mais pourrais tu surveiller un peu plus ton orthographe s'il te plait. Merci

  9. #9
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 64
    Points : 46
    Points
    46
    Par défaut
    désolé les gars , je ne l'ai pas fait exprès c'est juste une faute d'orthographe

  10. #10
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 58
    Points : 30
    Points
    30
    Par défaut
    En gros les tags "nested" permettent juste de pouvoir faire des formulaires avec des propriétés dynamiques sur une même page JSP ? Par exemple en supprimant ou ajoutant des beans dans des collections, c'est ça ?

  11. #11
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 64
    Points : 46
    Points
    46
    Par défaut
    Bonjour,
    oui c 'est ca!
    Si tu veus mieux connaitre les nested fait des recherches sur ce forum , c la d'ou je me suis inspiré .

    Cordialement , abdess6600
    -----------------------------------------
    n'oublie pas Résolu

  12. #12
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 58
    Points : 30
    Points
    30
    Par défaut
    Ah ben finalement c'est pas résolu !

    J'ai maintenant combiné avec des nested :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <nested:root name="superUser">
    	<nested:nest property="user">
    		<nested:message key="cle" arg0="${user.firstname}" /><br />
    	</nested:nest>
    </nested:root>
    En gros, "superUser" est un bean dont l'un des attributs est un "user" (attention, ce n'est pas une quelconque collection), et "user" a toujours son attribut "firstname". Même chose, je n'arrive pas à faire coïncider "arg0" avec la valeur de "firstname". Seule la clé s'affiche ("Le PC portable de"). J'ai essayé arg0="${firstname}" , idem.
    Pourtant en faisant un <nested:write property="firstname" /> le nom s'affiche bien...

    Help

  13. #13
    SrK
    SrK est déconnecté
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 213
    Points : 83
    Points
    83
    Par défaut
    moi j'avais fait ca comme ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <bean:message key='cle' arg0="<%= username.getFirstName() %>" />

  14. #14
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 64
    Points : 46
    Points
    46
    Par défaut
    c est bien ,que tu as trouvé la reponse mais n oublie pas de mettre Résolu

  15. #15
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 58
    Points : 30
    Points
    30
    Par défaut
    Ben non puisque ça ne correspond pas à ce que je cherche ! Je cherche une réponse orientée Struts.

    D'autres propositions s'il vous plait ?

  16. #16
    SrK
    SrK est déconnecté
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 213
    Points : 83
    Points
    83
    Par défaut
    ca ne marche pas ce que je t'ai proposé ?

  17. #17
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 58
    Points : 30
    Points
    30
    Par défaut
    Ben non ! Pas moyen de connaître la classe "user" et donc de dénicher sa méthode "getFirstname" dans la JSP. De toute façon comme je l'ai dit dans mon premier post, je ne veux pas utiliser de <%= %> car c'est s'éloigner de Struts. Il y a une réponse orientée Struts, le blem c'est que je ne la trouve pas !

  18. #18
    SrK
    SrK est déconnecté
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 213
    Points : 83
    Points
    83
    Par défaut
    il ne la trouve pas car tu n'as surement pas de bean:define, sinon personnellement j'avais cherché un bon moment, et je n'ai pas trouvé de solutions plus proche de struts sans utiliser la taglib JSTL.

  19. #19
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 58
    Points : 30
    Points
    30
    Par défaut
    Il n'y a pas moyen de le faire en utilisant ${...} à la place de <%= %> ?

  20. #20
    SrK
    SrK est déconnecté
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 213
    Points : 83
    Points
    83
    Par défaut
    en utilisant le JSTL ^^

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 7
    Dernier message: 25/10/2007, 11h21
  2. Réponses: 0
    Dernier message: 10/10/2007, 17h13
  3. Pb avec bean:message
    Par germain_ledroit dans le forum Struts 1
    Réponses: 2
    Dernier message: 08/08/2006, 17h35
  4. [ Struts] pbs avec <bean:message key=.../>
    Par njac dans le forum Struts 1
    Réponses: 3
    Dernier message: 01/12/2004, 15h08
  5. [Swing] Problème avec un bean et un arraylist
    Par kikoufr dans le forum AWT/Swing
    Réponses: 16
    Dernier message: 30/09/2004, 10h08

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