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]Declarer les éléments necessaires à un logic:iterate


Sujet :

Struts 1 Java

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 18
    Points : 14
    Points
    14
    Par défaut [Struts]Declarer les éléments necessaires à un logic:iterate
    Bonjour,

    Je débute en dev sur un projet struts (en java aussi !!).
    Je voudrais afficher une liste de liens connus dans une table.
    Pas de pbe pour le recupérer en base mais je n'arrive pas à les afficher
    Je pensais à un <logic:iterate> mais je n'arrive pas à comprendre comment declarer cette liste dans l'actionForm et à ecrire ses assesseurs

    Quelqu'un pourrais t il m'aider?
    Merci pour votre aide


    [Modéré par Didier] : ajout de tag dans le titre - Les règles du forum Java

  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
    ben la liste que tu recuperes de ta base, tu peux la structurer en une liste de javaBean.

    Dans ton form tu declares ta liste de Javabean sous form d une ArrayList
    avec ses getters et setters associes
    Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    private ArrayList beanAL = null;
    public ArrayList getBeanAL(){
    return this.beanAL;
    }
    public void setBeanAL(ArrayList al){
    this.beanAL = al;
    }
    Dans l action qui precede le tile, tu remplis ton form et donc ton ArrayList

    Enfin dans ta jsp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <logic:iterate id="currentBean" name="monForm" property="beanAL">
    <bean:write name="currentBean" property="prop1"/>
    <bean:write name="currentBean" property="prop2"/>
    </logic:iterate>
    Bon courage

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 18
    Points : 14
    Points
    14
    Par défaut suite de mon problème
    Bonjour,

    Deux jours que j'essaye de comprendre ............!!!

    A quoi correspond "currentBean"?
    pour essai sans la lecture de base

    mon action

    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
     protected ActionForward prepareAfficheRecherche(ActionMapping mapping, 
                                    ActionForm form, 
                                    HttpServletRequest request, 
                                    HttpServletResponse response, 
                                    ActionErrors errors)
      throws Exception
      { 
     
     
     
        ArrayList listes = new ArrayList(); 
        String element = null;
        element = "titi";
        listes.add("element");
        element = "tata"
          listes.add("element");
        AfficheActionForm newForm =  (AfficheActionForm)form ;
        newForm.setlisteMotCle(listes);
        return (mapping.findForward(FORWARD_SUCCESS));
     }
    mon actionForm

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     private ArrayList listeMotCle = null;
     public ArrayList getlisteMotCle(){ 
    return this.listeMotCle; 
    } 
    public void setlisteMotCle(ArrayList al){ 
    this.listeMotCle = al; 
    }
    et ma jsp

    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
     
    <%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic"%>
    <%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean"%>
    <%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html"%>
    <%@ taglib uri="/WEB-INF/tlds/pdk-struts-html.tld" prefix="pdk-html"%>
    <%@ taglib uri="/WEB-INF/tlds/notreTag.tld" prefix="notreTag"%>
    <link href="/senior/css/general.css" rel="stylesheet" type="text/css"> 
     
      <span class="titreSousOnglet"><br>
        <bean:message key="seniorV0.titreRecherche" />
      </span>
    <logic:present name="listeMotCle">
    <logic:iterate id="element" name="form-bean1" property="listeMotCle" > 
     <bean:write name="element" property="listeMotCle"/> 
     
    </logic:iterate>
    </logic:present>
    Il me m'affiche rien !
    Je n'ai pas du comprendre quelque chose..........

    merci pour votre aide

  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
    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
     
    <%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic"%> 
    <%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean"%> 
    <%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html"%> 
    <%@ taglib uri="/WEB-INF/tlds/pdk-struts-html.tld" prefix="pdk-html"%> 
    <%@ taglib uri="/WEB-INF/tlds/notreTag.tld" prefix="notreTag"%> 
    <link href="/senior/css/general.css" rel="stylesheet" type="text/css"> 
      <span class="titreSousOnglet"><br> 
        <bean:message key="seniorV0.titreRecherche" /> 
      </span> 
    <logic:present name="listeMotCle"> 
    <logic:iterate id="element" name="form-bean1" property="listeMotCle" > 
     <bean:write name="element"/> 
    </logic:iterate> 
    </logic:present>
    essaie comme ca!

  5. #5
    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
    l attribut "id" du logic:iterate de permet de creer un bean temporaire correspondant a l element courant de ton arraylist...

    le nom associe a l id est arbitraire tu peux l appeler toto tutu et bien sur currentElement (tant que tu le references avec le meme nom a posteriori)

  6. #6
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 18
    Points : 14
    Points
    14
    Par défaut
    j'ai essayé seulement voila .............
    En enlevant la balise <LOGIC:present>

    il me repond

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    05/07/27 14:46:14 seniorV0: [instance=38526_PARSRECHERCHE_40201101, id=7802311945341,4] ERROR: Failed to handle HTTP Request
    javax.servlet.jsp.JspException: No collection found
    	at org.apache.struts.taglib.logic.IterateTag.doStartTag(IterateTag.java:281)
    	at _jsp._marecherche._jspService(_marecherche.java:66)

    Merci encore

  7. #7
    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 fafi1
    j'ai essayé seulement voila .............
    En enlevant la balise <LOGIC:present>

    il me repond

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    05/07/27 14:46:14 seniorV0: [instance=38526_PARSRECHERCHE_40201101, id=7802311945341,4] ERROR: Failed to handle HTTP Request
    javax.servlet.jsp.JspException: No collection found
    	at org.apache.struts.taglib.logic.IterateTag.doStartTag(IterateTag.java:281)
    	at _jsp._marecherche._jspService(_marecherche.java:66)



    Merci encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <logic:present property="listeMotCle"> 
     
    </logic:present>
    c est un logic:present property="" car listeMotCle est une property de ton form

  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
    tu peux aussi faire (c est comme ca que je fais)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <logic:present name="form-bean1" property="listeMotCle"> 
     
    </logic:present>

  9. #9
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 18
    Points : 14
    Points
    14
    Par défaut
    Merci infiniment pour votre aide!
    Tout marche
    A bientot pour de nouveaux problèmes

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

Discussions similaires

  1. Les drivers ODBC sont-ils nécessairement payants ?
    Par Draekonyss dans le forum 4D
    Réponses: 5
    Dernier message: 20/04/2006, 18h50
  2. pb avec struts et les collections
    Par zola dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/04/2006, 10h53
  3. [Struts]Interdire les cookies
    Par yush dans le forum Struts 1
    Réponses: 4
    Dernier message: 07/02/2006, 13h11
  4. Réponses: 2
    Dernier message: 05/10/2004, 22h43

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