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 :

utiliser un bean dans le tags html:link


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2003
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 54
    Par défaut utiliser un bean dans le tags html:link
    Bonjour, j'ai un problème avec les actions struts. L'ensemble de mon menu est contenu dans ma base de données, ainsi que le nom des actions associées à chaque lien du menu. Je n'arrive pas cependant à récupérer le nom de l'action à réaliser qui est stockée dans un bean. Je m'explique : j'ai le code suivant dans ma page jsp :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <logic:present name="menus">
    	<logic:iterate name="menus" id="element">
    		<br />
    		<html:link paramName action="hydraulicAreaSetup">
    		<bean:write name="element" property="key.menu.name" />
    		</html:link>
    	</logic:iterate>
    </logic:present>
    le bean menus est une hasmap qui contien en clé des objet Menu qui ont comme attribut une String action et une String name. Ici, sur le lien qui correspond à key.menu.name (il s'affiche correctement si j'enlève les tags link) j'associe en dur une action qui s'appelle "hydraulicAreaSetup". Cela fonctionne très bien. Le problème est que je ne souhaite pas marquer en dur le nom de cette action. Elle est stockée dans key.menu.action.
    Comment dois-je faire pour utiliser la propriété key.menu.action du bean menus dans le tags html:link ?
    Merci beaucoup de votre aide

  2. #2
    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
    Je ne pense pas que tu puisses coder :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <html:link action="<bean:write name="element" property="key.menu.action" />">
    Par contre, tu dois pouvoir t'en sortir avec un tag JSTL.
    Mais j'ai bien peur que le fait que le nom de ton action soit stockée dans key.menu.action pose un problème.

    Admettons que la propriété contenant le nom de ton action soit plutôt keyMenuAction.

    Je pense que tu dois pouvoir coder :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <html:link paramName action="${element.keyMenuAction}">
    à condition de faire le <c:forEach> qui va bien.

    Pour pouvoir utiliser les tags JSTL, il faut récupérer la TLD c.tld, la copier sous WEB-INF et coder ceci dans la jsp :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <%@ taglib uri="/WEB-INF/c.tld" prefix="c" %>

  3. #3
    Membre averti
    Inscrit en
    Février 2003
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 54
    Par défaut
    yes man !! t'es mon dieu
    Par contre il n'y a pas besoin de paramName. De plus, il faut bien faire action="${element.key.menu.action}" et non action="${element.keyMenuAction}" comme tu l'as dis. En effet element représente un élément de ma table de hachage "menus". J'accède donc à la partie clé par "element.key" puis à l'attribut "menu" de type Menu et enfin à l'attribut "action".
    Voilà, merci beaucoup !
    Sinon t'as pas une solution pour le post que je viens de mettre par rapport au fait que j'arrive pas à exécuter directement mon prog dans eclipse ? C'est vraiment relou réexecuter tout dans un navigateur à chaque fois....

  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
    Not man but woman

    Je n'avais pas compris pourquoi ton action s'appelait key.menu.action.
    Maintenant si.
    D'ailleurs, ça va sans doute m'aider pour l'appli que je suis en train de développer, où je traite aussi des menus et des actions.

    Pour l'autre sujet, je vais voir si j'ai une réponse à te donner.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/06/2010, 11h08
  2. [HTML] utilisation de variables dans un tag
    Par raimo dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 16/05/2008, 17h14
  3. [débutant] Utilisation des tags "html:link", etc.
    Par ghohm dans le forum Struts 1
    Réponses: 6
    Dernier message: 30/05/2007, 17h58
  4. Réponses: 1
    Dernier message: 06/04/2007, 16h52
  5. Invocation de Tag <html:link> dans un Tag JSP
    Par Bogdan dans le forum Struts 1
    Réponses: 4
    Dernier message: 29/12/2006, 09h38

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