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 :

Erreur pour charger une liste


Sujet :

Struts 1 Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 78
    Points : 39
    Points
    39
    Par défaut Erreur pour charger une liste
    Bonjour tout le monde, j'ai une exception lorsque je veux charger ma liste du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ServletException in:/jsp/prive/contact/formulaire.jsp] Failed to obtain specified collection'
    je c'est que c'est parce que il ne trouve pas ma liste mais je ne c'est pas du tout où?

    ActrionForm
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
     
     
     
     
     
    public class FormulaireAction extends JdcBaseAction
     
        {
            public ActionForward executeLogic(final ActionMapping mapping,
                                              final ActionForm form,
                                              final HttpServletRequest request,
                                              final HttpServletResponse response) throws Exception {
                logger.info("entre  Dans l'action FormulaireAction");
     
                FormulaireActionForm actionForm = (FormulaireActionForm) form;
                HttpSession session = request.getSession(true);
     
                //test session
                if ( (actionForm == null) || session.isNew()) {
                    actionForm = new FormulaireActionForm();
                    actionForm.reset(mapping, request);
                    session.setAttribute("formulaireActionForm", actionForm);
                }
     
                //recupération de la session
                SessionJDC sJDC = new SessionJDC(session);
     
                //test formulaire public ou non public
                String publi=request.getParameter("public");
                if (publi!=null){
                    if (publi.equals("true")){
                        actionForm.setPartiePublique(true);
                    }
                    session.setAttribute("formulaireActionForm", actionForm);
                }
     
                //recupération du compte
                UtilCompteOBJ compte = sJDC.getCompte();
                //test si le compte est null
                if ( compte!= null){
                    UtilPersonneOBJ titulaire = compte.getLnkUtilPersonne();
                    //on rempli les champs
                    actionForm.setNom(titulaire.getNom());
                    actionForm.setPrenom(titulaire.getPrenom());
                    actionForm.setRaisonSociale(compte.getRaisonSocialeClient());
                    actionForm.setMail(titulaire.getMail());
                    actionForm.setTelephone(titulaire.getNumeroTelephone());
                    actionForm.setCivilite(titulaire.getCivilite());
                    actionForm.setTelephone(titulaire.getNumeroTelephone());
                }
     
                //EJB
                ContactEJB ejb;
                Localiseur localiseur = new Localiseur();
                ContactEJBHome home = (ContactEJBHome) localiseur.getHomeObject(ContactEJBHome.JNDI_NAME);
                ejb = home.create();
     
                logger.info("test categorie");
                //test pour le remplissage de la categorie
                if (actionForm.getListeCategorie() == null) {
                     logger.info("dans le if test categorie");
                     ArrayList listeCategorie = ejb.getListeCategorie(actionForm.isPartiePublique());
                     actionForm.setListeCategorie(listeCategorie);
     
                }
                logger.info("sort du if test categorie");
     
     
                String forward="FORMULAIRE";
                //--------------------------
                // GESTION BOUTON ENNVOYER
                //--------------------------
     
                if (actionForm.getEnvoyer().isSelected()) {
                    logger.info("clic sur le bouton envoyer");
                    //ejb.getSoumettre();
                    forward = "VISUALISER";
     
                }
     
                logger.info("sort de l'action formulaireAction");
     
                return mapping.findForward(forward);
            }
        }
    Mon sqlProvider
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
     
     
    public class CategorieSQLProvider  extends AbstractSQLProvider {
     
     
     
        private static final String REQUETE =
            " select cca_id, cca_libelleCategorie " +
            "  from e_com_categorie " +
            "  where cca_typeCategorie in (?,?) " ;
     
     
     
     
     
           /**
            * Crée un objet <code>CategorieSQLProvider</code>
            */
           public CategorieSQLProvider() {
           }
     
     
        public ArrayList getListeCategorie(Connection con , boolean isPartiePublique)throws SQLException {
     
        ResultSet rs = null;
        ArrayList retour =null;
        retour= new ArrayList();
        PreparedStatement ps = null;
     
        logger.logInfo("dans la methode execute avant le preparestatement");
     
         String header = ("CategorieSQLProvider.getListeCategorie");
     
       try {
     
            logger.logInfo("entre dans "+header);
            logger.logInfo("requete :"+REQUETE+"param:"+CategorieOBJ.PUBLIC_ONLY+ CategorieOBJ.PUBLIC_AND_PRIVE+ CategorieOBJ.PRIVE_ONLY);
     
            ps = con.prepareStatement(REQUETE);
     
            if (isPartiePublique == true){
                ps.setInt(1, CategorieOBJ.PUBLIC_ONLY);
                ps.setInt(2, CategorieOBJ.PUBLIC_AND_PRIVE);
            }
     
            else {
                ps.setInt(1,CategorieOBJ.PRIVE_ONLY);
                ps.setInt(2,CategorieOBJ.PUBLIC_AND_PRIVE);
            }
     
            rs = ps.executeQuery();
            CategorieOBJ cat=null;
     
            while (rs.next()) {
                cat = new CategorieOBJ();
                logger.logInfo("param"+rs.getString(1)+rs.getString(2));
                cat.setLibelle(rs.getString(2));
                cat.setId(rs.getInt(1));
                retour.add(cat);
            }
        }
        catch (SQLException ex) {
            throw ex;
        }
            finally {
            close(rs);
            close(ps);
        }
        logger.logInfo("sors de "+header);
     
        return retour;
     
     
    }
     
     
    }
    Est que quelqu'un à une idée??? svp

  2. #2
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Et ta jsp ?

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 78
    Points : 39
    Points
    39
    Par défaut
    je pense pas que ca vienne de là parce que ca marchait avant que je supprime mon ejb pour le refaire mais jte donne quand même mon code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <tr>
              <td>
                &nbsp;&nbsp;&nbsp;&nbsp;*Votre message concerne :
                <html:select name="formulaireActionForm" onchange="chargecategorie();" property="idCategorieSelected">
                  <html:optionsCollection name="formulaireActionForm"  property="listeCategorie" label="libelle" value="id"/>
                </html:select>
              </td>
            </tr>

  4. #4
    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
    Et comme ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <html:select property="idCategorieSelected" onchange="chargecategorie();">
       <html:options collection="listeCategorie" labelProperty="libelle" property="id"/>
    </html:select>
    EDIT : Pour info, l'attribut name n'est pas utile étant donné que le tag html:select doit être dans un tag html:form et que le nom du form-bean est déjà référencé dans le mapping de l'Action dans le struts-config.xml.
    Modératrice Java - Struts, Servlets/JSP, ...

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 78
    Points : 39
    Points
    39
    Par défaut
    Dsl de répondre que maintenant, ça change rien du tout!

  6. #6
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    ce qu'il y'a c'est que formulaireActionForm ne semble pas etre une collection.

    Tu la charge ta liste d'otions que tu veux mettre dans ton select ?

  7. #7
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 78
    Points : 39
    Points
    39
    Par défaut
    Non en fait le oncharge ne sert a rien!
    Je suis sure que ca ne vien pa de ma jsp parcequ'avant de refaire mon ejb tout marchait très bien!

  8. #8
    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
    As-tu vérifié qu'il passe bien dans le while (rs.next()) et que donc, ton ArrayList se remplit bien ?

    Sinon, il y a quand même quelque chose qui me choque.
    Normalement, tu ne devrais pas avoir à faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                   session.setAttribute("formulaireActionForm", actionForm);
    étant donné que le form-bean est automatiquement mis dans le scope que tu as défini dans le mapping de ton Action dans le struts-config.xml.
    Modératrice Java - Struts, Servlets/JSP, ...

  9. #9
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Citation Envoyé par minie
    Non en fait le oncharge ne sert a rien!
    Je suis sure que ca ne vien pa de ma jsp parcequ'avant de refaire mon ejb tout marchait très bien!
    Quel rapport avec la collaection !!!

    Quand tu fais ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
                     ArrayList listeCategorie = ejb.getListeCategorie(actionForm.isPartiePublique());
                     actionForm.setListeCategorie(listeCategorie);
    tu es sur que listeCategorie est bien rempli?

  10. #10
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 78
    Points : 39
    Points
    39
    Par défaut
    Ca y est c bon, je suis vraiment désolé de vous avoir dérangé, j'avais oublié de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     retour = prov.getListeCategorie(con, isPartiePublique);
    dans mon ejbbean

    vraiment désolé!

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

Discussions similaires

  1. Erreur d'un parsing xml pour extraire une liste
    Par Turvy dans le forum Android
    Réponses: 4
    Dernier message: 10/12/2013, 12h55
  2. Erreur pour charger une photo
    Par Sophie56fg dans le forum Android
    Réponses: 6
    Dernier message: 19/02/2013, 20h55
  3. Probléme pour charger une List dans un s:select
    Par Elthriel dans le forum Struts 2
    Réponses: 10
    Dernier message: 17/07/2008, 11h21
  4. [DOM] Erreur pour valider une DTD
    Par lenghh dans le forum Format d'échange (XML, JSON...)
    Réponses: 13
    Dernier message: 19/05/2004, 18h15
  5. Réponses: 4
    Dernier message: 14/10/2003, 08h58

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