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 :

Invocation de Tag <html:link> dans un Tag JSP


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 6
    Par défaut Invocation de Tag <html:link> dans un Tag JSP
    Bonjour,

    Pourriez-vous me dire si il est possible d'invoquer un Tag STRUTS "<html:link/>" dans le code d'un Tag JSP.

    En effet, je cherche à créer une barre de navigation du type "google" pour afficher des résultats de recherche sur plusieurs pages.

    Je veux donc inclure un nombre n (dynamique) de liens dans ce Tag qui serait appelé sur ma JSP au moment désiré.

    Est-ce la bonne méthode pour ce type de barre de navigation ?

    Merci d'avance.

  2. #2
    Membre Expert
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Par défaut
    Tu ne peux pas utiliser des taglibs directement dans un .java il me semble, ils ne doivent apparaître que dans les JSP.
    Peut-être pourrais-tu créer un tag de réponse avec dans le corp un seul tag "<html:link/>". Puis dans le code java du tag de réponse tu réitères le BODY (donc le <html:link/>) autant de fois qu'il y a de réponses, avec des paramètres dynamiques.

    En espérant être clair et que ça t'aide.

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 6
    Par défaut
    Je vois tout à fait ce que tu veux dire. Mais par contre, mon lien ayant des paramètres dynamique je ne sais pas comment le manipuler si il est en corps de mon Tag.

    actuellemtent j'ai essayer une version sans corps du genre de ce test "retour à la home":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    import javax.servlet.jsp.tagext.TagSupport;
    import org.apache.struts.taglib.html.LinkTag;
    import javax.servlet.jsp.JspWriter;
    import java.io.IOException;
     
    public class PaginationTest extends TagSupport {
      LinkTag link;
      JspWriter jw;
      public int doStartTag() {
    		try {
    			jw = pageContext.getOut();
    			link.setAction("/accueil.do?param=");
    			jw.println(link);
    			//jw.println("<html:link action='/action.do?param='>accueil</html:link>");
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    		return SKIP_BODY;
      }
    }
    Cette version génère une exception, quand à la ligne en commentaire elle fonctionne mais "/accueil.do" étant une action STRUTS, le liens renvoi vers une page d'erreur et non sur la bonne page.

    Mon problème est donc de créer un lien STRUTS dans un Tag.

    Quelqu'un pourrait me tirer de ce mauvais pas SVP ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 22
    Par défaut
    Je te conseillerai de tenter de mettre du HTML simple et d'utiliser le tag JSP lorsque tu as besoin de ton traitement particulier. ou bien modifier ton PaginationTest pour que celui-ci prenne en paramètre une action qui te permettra de faire le lien souhaité.

    Je dis ca , je dis rien, mais ce n'est pas vraiment facile à voir tout ce que tu souhaites faire. Il faudrait des précisions supplémentaires pour mieux t'aider .

  5. #5
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 6
    Par défaut
    J'ai trouvé une solution qui ne me parait pas très très propre mais qui fonctionne.
    Sachant qu'un Tag "<html:link/>" génère une balise HTML "<a href=... />", et comme vous me l'avez conseillé, j'ai mis un attribut "path" dans mon Tag qui sera renseigné par l'url de la présente page, avec un request.getRequestURI() passé en attribut de session.

    Dans mon Tag, je récupère et manipule le "path" à mon gré et je le renvoi de cette forme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    JspWriter jw = pageContext.getOut();
    jw.print("<a href=" + path + ">link_name</a> ");
    Je ne passe donc plus par une Balise Struts.
    Je pense que la solution parait évidente mais étant novice au Framework STRUTS je pensais devoir utiliser ces balises à chaque lien.

    Merci de votre aide.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/06/2010, 11h08
  2. [STRUTS] balise <bean:write> dans <html:link>
    Par adrien.nicolet dans le forum Struts 1
    Réponses: 8
    Dernier message: 25/10/2005, 08h56
  3. utiliser un bean dans le tags html:link
    Par clement42 dans le forum Struts 1
    Réponses: 3
    Dernier message: 29/07/2005, 18h36
  4. [struts html tag] html:link associé à un event javascript
    Par VinceFromBcn dans le forum Struts 1
    Réponses: 2
    Dernier message: 16/03/2005, 11h59
  5. Réponses: 5
    Dernier message: 12/05/2004, 16h37

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