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 :

[STRUTS] balise <bean:write> dans <html:link>


Sujet :

Struts 1 Java

  1. #1
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    40
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 40
    Points : 37
    Points
    37
    Par défaut [STRUTS] balise <bean:write> dans <html:link>
    Bonjour à tous!

    Dans une page jsp, je dois intégrer une adresse web étant stoquée sur la session, à l'intérieure d'un lien html. J'ai essayer ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <html:link href="<bean:write name='lien' property='lien'/>" target="_blank">
    Voici ce que ça donne en html:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="<bean:write name='lien' property='lien'/>" target="_blank">
    Alors que je souhaiterai avoir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="http://<a href="http://www.developpez.net"" target="_blank">www.developpez.net"</a> target="_blank">
    Et ce http://www.developpez.net correspond à ce qui se trouve dans <bean:write name='lien' property='lien'/>.

    Comment faire?

    Merci pour votre aide!

    Adrien

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut Re: [STRUTS] balise <bean:write> dans <html:link>
    Eh bien a ma connaissance tu ne peux pas faire ça de cette manière...
    Tu dois passer par les scriplets!!! En espèrant que ton container de servlet soit de version 2.3 ou supérieur!!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="<%= ....ton script%>" target="_blank">
    Une autre solution consiste sinon a utiliser la JSTL à travers Struts-EL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <html-el:link action="${tonForm.taProperty}">

    Sun Certified Business Component Developer
    Sun Certified Java Programmer
    --
    The definitive toolbox for GWT applications: gwt-toolbox
    My blog about Java and JEE: Benjamin's Blog

  3. #3
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    40
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 40
    Points : 37
    Points
    37
    Par défaut
    Merci pour ta réponse!

    C'est vrai qu'avec les scriplets c'est faisable assez facilement! Mais j'essaie en général d'éviter de les utiliser pour que ça fasse plus propre...

    J'ai essayé de jouer avec les paramètres de html:link, mais sans succès...

    Donc je vais me tourner vers les scriplet

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    Citation Envoyé par adrien.nicolet
    J'ai essayé de jouer avec les paramètres de html:link, mais sans succès...
    Ah bon!!, as tu au moins mis le struts-el dans ton WEB-INF/lib??? Il faut aussi mettre les tld (les xxx-el.tld) dans ton WEB-INF

    Sun Certified Business Component Developer
    Sun Certified Java Programmer
    --
    The definitive toolbox for GWT applications: gwt-toolbox
    My blog about Java and JEE: Benjamin's Blog

  5. #5
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    40
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 40
    Points : 37
    Points
    37
    Par défaut
    oui, toutes les librairies nécessaires sont présentes! Ce que j'ai essayé de faire, c'est utiliser les différents attributs disponibles avec html:link pour remplacer le contenu de href par un contenu dynamique. Mais apparemment c'est pas possible. En tout cas je n'ai rien trouvé à ce sujet sur http://struts.apache.org/struts-doc-...html.html#link

    Mais maintenant, j'utilise les scriplet et c'est tout bon:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <%@ page import="conception.metier.beans.BeanLien"%>
    ...
     
    <logic:iterate id="lien" name='<%= num_lien %>'>        
            <% 
            BeanLien link = (BeanLien) lien;
            String contenuHref = link.getLien();
            %>
     
           <html:link href='<%= contenuHref %>' target="_blank">
               <bean:write name="lien" property="lien"/>
           </html:link>
    </logic:iterate>
    Merci!

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    Ok mais ce qui est dommage, c'est de te retrouver avec du code java dans tes jsps en utilisant un framework de présentation...

    Puis je jeter un coup d'oeil à la manière dont tu importe tes .tld??

    Sun Certified Business Component Developer
    Sun Certified Java Programmer
    --
    The definitive toolbox for GWT applications: gwt-toolbox
    My blog about Java and JEE: Benjamin's Blog

  7. #7
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    40
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 40
    Points : 37
    Points
    37
    Par défaut
    C'est vrai que c'est dommage, je n'aime pas faire ça mais parfois...

    Dans ma page JSP j'ai simplement écrit ces 3 lignes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    Les fichiers y sont bien présents.

    Donc normalement le problème ne se situe pas de ce côté là. Peut-être que les tags html n'ont pas été conçues pour intégrer un contenu dynamique à l'intérieur d'un élément href!?

  8. #8
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    Ben en fait non pas du tous il faudrait que tu fasses
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <%@ taglib uri="/WEB-INF/struts-html-el.tld" prefix="html" %>
    plutôt que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>

    Sun Certified Business Component Developer
    Sun Certified Java Programmer
    --
    The definitive toolbox for GWT applications: gwt-toolbox
    My blog about Java and JEE: Benjamin's Blog

  9. #9
    Expert éminent

    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
    Points : 7 778
    Points
    7 778
    Par défaut Re: [STRUTS] balise <bean:write> dans <html:link>
    Citation Envoyé par SEMPERE Benjamin
    Une autre solution consiste sinon a utiliser la JSTL à travers Struts-EL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <html-el:link action="${tonForm.taProperty}">
    Si Adrien est en J2EE 1.4, il doit pouvoir utiliser les EL sans passer par les Struts-EL en codant ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <html:link href="${tonForm.taProperty}">
    cf http://adiguba.developpez.com/tutoriels/j2ee/jsp/el/
    Modératrice Java - Struts, Servlets/JSP, ...

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/11/2011, 14h35
  2. [Struts] <Bean:write> dans un <html:select>
    Par damde dans le forum Struts 1
    Réponses: 9
    Dernier message: 24/05/2006, 11h09
  3. Réponses: 14
    Dernier message: 27/04/2006, 02h40
  4. Réponses: 6
    Dernier message: 05/01/2006, 16h37
  5. [Struts] logic iterate / bean write
    Par sg-40 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 16/06/2005, 15h35

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