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 :

passage de paramètre via un html:link


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 9
    Par défaut passage de paramètre via un html:link
    Bonjour,
    je suis nouveau sur le forum et j'ai besoin de votre aide pour mon projet jee Struts.
    le problème est le suivant: j'ai une liste de liens <html:link> et je veux passer un paramètre via chacun de ces liens. Les paramètres sont des chaines String se trouvant dans un tableau j'ai essayé avec une boucle et un <bean:define> mais ca marche pas
    voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <jsp:useBean id="bean" scope="session" class="beans.Index" > </jsp:useBean>
     
    for(int i=0;i<articl.size();i++) {
     
                    bean.setPath(articl.get(i)[2]);
                    %>                
                  	<bean:define id="value" name="bean"/>
                    <html:link action="fileDown.do" paramId="index" paramName="bean">           <%=articl.get(i)[1] %></html:link><br/>
                    <br/>
               <%
                    }
     
               %>

  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
    Si articl est une collection de String et que tu souhaites passer en paramètre de ton Action chacun de ces String, essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <logic:iterate name="articl" id="item">
       <html:link action="fileDown" paramId="index" paramName="item">
           <bean:write name="item"/>
       </html:link>
    </logic:iterate>

  3. #3
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 9
    Par défaut
    salut nvy,
    j'ai essayé avec logic iterate mais j'ai eu l'erreur suivante:

    cannot find bean "articl" in any scope.
    en fait article est une collection de string que je récupère à partir d'un BDD sql dans ma page jsp:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <%
    ArrayList<String[]> articl = new ArrayList<String[]>();
                    DatabaseFonctions fonc= new DatabaseFonctions();
                    articl=fonc.affichageArticle(profId);
     
                    %>

  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
    Comme tu récupères la collection dans la jsp elle-même, elle n'existe effectivement pas dans le scope.

    Tu peux donc ajouter un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pageContext.setAttribute("articl",articl) ;
    pour la mettre dans le scope page.

    Sinon, comme articl est une collection de tableaux de String, il faudrait plutôt coder ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <logic:iterate name="articl" id="itemList">
       <logic:iterate name="itemList" id="itemTab">
          <html:link action="fileDown" paramId="index" paramName="itemTab">
              <bean:write name="itemTab" />
          </html:link>
       </logic:iterate>
    </logic:iterate>
    Mais ce serait plus pratique de constituer une collection d'objets Article qu'une collection de tableaux de String.

  5. #5
    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
    En fait, la solution que je t'ai donné précédemment n'est pas l'équivalent de ce que tu souhaites faire.

    Les tags Struts ne sont pas adaptés à l'utilisation de tableaux de String.

    Donc, si tu préfères utiliser le code que tu as posté à l'origine, essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <jsp:useBean id="bean" scope="session" class="beans.Index" > </jsp:useBean>
     
    <%
       for(int i=0;i<articl.size();i++)
       {
          bean.setPath(articl.get(i)[2]);
    %>                
          <html:link action="fileDown.do" paramId="index" paramName="bean" paramProperty="path">
               <%=articl.get(i)[1] %>
          </html:link><br/>
          <br/>
    <%
       }
    %>
    Mais quand on utilise Struts, il est bien dommage de mettre du code Java dans les jsp.

  6. #6
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 9
    Par défaut
    ta solution marche à merveille.
    Merci beaucoup pour ton aide nvy.

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

Discussions similaires

  1. [ANT] Passage de paramètre via la ligne de commande.
    Par BarBiTueRie dans le forum ANT
    Réponses: 2
    Dernier message: 18/07/2007, 10h28
  2. [vb.net]Passage de paramètres via l'url
    Par Irish dans le forum ASP.NET
    Réponses: 7
    Dernier message: 06/12/2006, 19h53
  3. appel d'une page php et passage de paramètres via un SRC
    Par yoda_style dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/01/2006, 20h54
  4. Pb passage de paramétres via l'url
    Par chpog dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 27/09/2005, 10h34
  5. Passage de paramètres via l'URL
    Par carolinebelle dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 02/08/2005, 16h16

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