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 :

List dans un <display:table>


Sujet :

Struts 1 Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Points : 9
    Points
    9
    Par défaut List dans un <display:table>
    bonjour,
    A partir d'une liste déroulante je choisi un élément dans la liste, puis je valide avec un bouton.
    La validation ajoute l'éléments séléctionné dans une autre liste qui sera affiché dans un <display: table> qui est un displaytag
    JSP:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <display:table style = "width: 80%;" sort="list"  name="ServiceFormBean.listActeurRole" id="sessionScope.ServiceFormBean.listActeurRole" requestURI="/insertService.do" cellpadding="10" pagesize="<%=nbElt%>"  class="${tableclass}" decorator="org.displaytag.render.DecorateurCheckbox"> 
        <display:column property="nomUtilisateur" style = "width: 100px;"sortable="true" ></display:column>
       <display:column property="nomRole" sortable="true" headerClass="sortable"></display:column>
    </display:table>
    Le problème étant que quand je retourne sur ma Servlet pour ajouter un élément à cette liste, la liste est vide donc elle ne cumule pas les éléments et ajoute le nouvel élément et ne reprend pas celui d'avant.
    Servlet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    unActeurBDT.setNomUtilisateur(nomActeur);
    unActeurBDT.setNomRole(nomRole);
    unActeurBDT.setIdUtilisateur(serviceFormBean.getActeur());
    unActeurBDT.setIdRole(serviceFormBean.getRole());
    serviceFormBean.RemplilistActeurRole(unActeurBDT);
    ServiceFormBean
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    private List listActeurRole =new ArrayList();
    public void RemplilistActeurRole (ActeurBDT unActeurBDT ){
     this.listActeurRole.add(unActeurBDT);}
    Sachant que mon FormBean doit être de portée :"request".
    Au départ il était en "session" et dans le <display table name="sessionScope.serviceFormBean.listActeurRole" idem pour id >
    Help meeeeeeeeee!

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Août 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Août 2007
    Messages : 197
    Points : 246
    Points
    246
    Par défaut
    Le problème c'est que si ton scope est en "request" ton form bean sera constamment réinitialisé à chaque fois. Donc le mieux c'est d'enlever cette liste de ton form bean et de la mettre en session:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    ArrayList maListe=request.getSession().getAttribute("maListe");
    if(maListe==null){
    maListe=new ArrayList();
    }
    unActeurBDT.setNomUtilisateur(nomActeur);
    unActeurBDT.setNomRole(nomRole);
    unActeurBDT.setIdUtilisateur(serviceFormBean.getActeur());
    unActeurBDT.setIdRole(serviceFormBean.getRole());
    maListe.add(unActeurBDT);
    request.getSession().setAttribute("maListe",maListe);

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Points : 9
    Points
    9
    Par défaut
    Tout d'abord merci d'avoir répondu.
    J'ai gardé ma liste dans mon form bean par contre elle est remplie grâce à la liste en session. D'ailleur pour récupérer la liste en session il faut la caster :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ArrayList maListe= (ArrayList) request.getSession().getAttribute("maListe");
    maListe.add(unActeurBDT);
    request.getSession().setAttribute("maListe",maListe);
    serviceFormBean.setListActeurRole(maListe);
    merci de ton aide

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

Discussions similaires

  1. Display-table : listing d'un attribut-objet
    Par burhud dans le forum Struts 2
    Réponses: 3
    Dernier message: 22/10/2007, 10h38
  2. zones de liste dans une table
    Par Willygramme dans le forum VBA Access
    Réponses: 12
    Dernier message: 20/08/2007, 10h38
  3. Liste dans Display tag
    Par crocodingo dans le forum Struts 1
    Réponses: 3
    Dernier message: 14/08/2007, 09h09
  4. recuperation de liste dans une table
    Par poosh dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 17/08/2006, 20h17
  5. Réponses: 12
    Dernier message: 20/04/2006, 14h23

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