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 :

Displaytag & Liens


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 49
    Par défaut Displaytag & Liens
    Bonjour à tous

    Je boss sur un projet Struts dans lequel nous avons intégré la librairie Displaytag pour l'affichage de nos tableaux.

    Je butte cependant sur un problème de lien au sein de ces tableaux, je m'explique =)

    J'ai testé avec un fichier decorator, mais le problème de ce décorator reste qu'on ne peut utiliser de forward struts mais simplement des href =/
    Je me suis donc tourné vers une autre solution... dont voici le code jsp :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <display:table class="displaytag" name="listeMembres" id="listeMembresid" export="true" defaultsort="2" defaultorder="descending" pagesize="5" decorator="displaytag.MyDecorator">
         <display:column property="memberName" title="First name" sortable="true" headerClass="sortable" />
         <display:column title="Delete Member">
              <html:link forward="deleteMember" paramId="idMember" paramProperty="idMembreComite">Delete</html:link>
         </display:column> 
    </display:table>
    Seulement, je n'arrive pas à récupérer la valeur qui se nommerait "idMembreComite" dans les propriétés d'un "display:column". Si je voulais l'afficher, j'aurais quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <display:column property="idMembreComite" title="Delete Member">
    Et dans ce cas là, les id apparaîtraient. Je veux simplement les faire passer à un fichier java ("action" dans Struts) et les récupérer par la requête, mais mon request.getParameters("idMember") reste désespérément vide...

    Il manque peut être des infos, pour moi le problème est clair mais pas forcément facile à expliquer. J'ai parcouru les FAQ en tous genres, le site des displaytag et leurs nombreux exemples, sans succès.

    En gros, comme je fais pour récupérer au sein de mon html:link l'id du membre en fonction de la ligne ?

  2. #2
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 49
    Par défaut
    Je vais ajouter la solution que j'ai "trouvé" avec les decorator en plus...
    Dans ma jsp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <display:column property="memberToDelete" title="Delete Member">Delete</display:column>
    Dans le decorator
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public String getMemberToDelete() {
         try{ 
              MembreComite member = (MembreComite)getCurrentRowObject();
              Integer lId = member.getIdMembreComite();
              link= "<a href=../../deleteMember.do?idMember="+lId+">Delete</a>";
         } catch(Exception e){
              e.printStackTrace();
         }    	
         return link;
    }
    Mais cela ne fonctionne qu'une fois l'astuce du "../../"... Après rechargement de la page, la redirection ne fonctionne plus, vive les forwards ><

  3. #3
    Membre chevronné

    Inscrit en
    Avril 2005
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 317
    Par défaut
    Avec Displaytag, il y a la possibilité d'utiliser des attributs semblables à Struts

    http://ewawszczyk.developpez.com/tut...ib-displaytag/
    Regardes le paragraphe sur les liens

    ou http://displaytag.sourceforge.net/11/tut_links.html

  4. #4
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 49
    Par défaut
    Arf, on s'est mal compris, mais ce doit être mal expliqué =)

    Faire les liens, j'y arrive, seulement, si je fais un lien comme expliqué

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <display:column property="nom" title="Nom" href="details.jsp" paramId="idUtil" paramProperty="id" />
    Comment je récupère les paramètres dans un fichier java de type "action" derrière ?

    Ou plus simplement, si on reste dans le contexte des tutos donnés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    link= "<a href=/deleteMember.do?idMember="+lId+">Delete</a>";
    Ca donnerait ça pour l'appli développée.

    Le problème concerne maintenant le mapping de ces liens... Dans le web.xml j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <servlet-mapping>
        <servlet-name>strutsController</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    Et dans le struts-config.xml, j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <action path="/deleteMember" scope="request" type="actions.DeleteMemberAction"/>
    Le problème est qu'il ne trouve jamais le bon chemin, étant donné qu'en local, il me met le ".do" à la suite du localhost, du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://localhost:8090/deleteMember.do?idMember=7
    Seulement, il faut le nom du projet devant sans quoi ca ne risque pas de fonctionner...
    Je l'ai mis en dur dans le lien du decorator mais niveau déploiement, ca va pas marcher tip top ><

  5. #5
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 49
    Par défaut
    Bon, une heure dessus ce matin et je pense avoir trouvé une solution :

    J'ai ajouté un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    requestURI="/committees.jsp"
    dans les propriétés de ma display:table, et mon lien décorator ressemble maintenant à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return "<a href=\"../../deleteMember.do?id="+lId+"\">Delete</a>";
    Je ne suis pas certain que ce soit très propre, mais ca m'évite d'avoir a coller le contexte de l'appli en dur dans le lien, alors que l'arborescence de l'appli ne devrait pas bouger.

    Je ne mets pas le tag "Résolu" car je suis certain qu'une autre solution existe... Si qqun a je prends =)

  6. #6
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 49
    Par défaut
    Ok, j'ai remappé toute l'appli et l'erreur s'en est trouvé résolu... Il n'est jamais que 22h04 =)

    Merci pour vos nombreuses réponses

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

Discussions similaires

  1. [S2+ajaxTags+displayTag]lien sur pagination
    Par gdtpara dans le forum Struts 2
    Réponses: 2
    Dernier message: 17/05/2009, 01h32
  2. [XHTML 1.0] Reconnaissance de &amp; dans un lien
    Par MorganStern dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 21/03/2009, 15h50
  3. lien avec displaytag
    Par CPI_en_mousse dans le forum Servlets/JSP
    Réponses: 32
    Dernier message: 24/05/2007, 14h02
  4. [DisplayTag][Decorator] Liens dynamiques
    Par parasol007 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 30/05/2006, 14h28

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