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

Servlets/JSP Java Discussion :

passer un objet ResultSet à une page JSP


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 85
    Par défaut passer un objet ResultSet à une page JSP
    Salut tout le monde

    je veux passer un objet de type ReslutSet créer par un servlet à une page JSP

    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
    14
    15
    16
    17
    18
    19
    20
    21
    22
    protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
    		RequestDispatcher d;
    		ResultSet resultat= null;
    		String s= req.getParameter("id");
    		String w= req.getParameter("pwd");
    		Connection con  = connecter (s,w);
    		if (con != null){
    		try{	
                       Statement st = con.createStatement();
                       resultat= st.executeQuery("selec* from table1");
               
              }catch(SQLException sql) 
              {
            	  sql.getMessage();
              }
    		  d = req.getRequestDispatcher("OK.jsp");
                      d.forward(req,res);
    		}
                  ...
                  ...
    }
    je veux passer l'objet resultat à une page jsp;

    qestions:
    - que je dois ajouter comme code à la servlet pour passer cet objet (de type ResultSet) à la page jsp.
    - que je dois ajouter comme code à la page JSP pour recuperer cet objet(resultat)

    merci d'avance

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    C'est pas bien compliqué, c'est comme avec les autres types en java:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    session.setAttribute("res",res);
    d = req.getRequestDispatcher("OK.jsp");
                      d.forward(req,res);
    et tu récuperes en castant dans ton OK.jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ResultSet res=(ResultSet)req.getAttribute("res");
    L'idée est dans la réponse, mais pas les syntaxes correctes

  3. #3
    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
    Il serait quand même plus propre de passer une List d'objets à la jsp plutôt qu'un ResultSet.

    Pour cela, il faut tout d'abord créer une classe (JavaBean) avec les getters et les setters sur chacun des champs de la table dont tu as besoin.

    Ensuite, il faut créer une classe d'accès aux données dans laquelle tu codes une méthode qui lit la table et qui renvoie la List d'objets :
    pour chaque record de la table en question, tu crées un objet que tu remplis avec les valeurs trouvées dans la table et tu ajoutes chaque objet dans une List.

    Dans la servlet, tu fais appel à cette méthode qui renvoie la List et tu mets la List dans le scope request pour la rendre accessible dans la jsp.

    Et dans la jsp, tu n'as plus qu'à récupérer la List stockée dans le scope request via le tag jsp:useBean et enfin parcourir cette List via du code Java ou la JSTL.

    Ci-dessous un code exemple de constitution de List d'objets pour une table que j'ai appelé personne et qui a pour champ nom et prenom :
    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
    public List getPersonnesList()
    {
     String requete = "select nom,prenom from personne"; 
     ResultSet res = statement.executeQuery(requete); 
     List personnesList = new ArrayList() ;
     while ( res.next() )
     {
       String nom = res.getString("nom") ;
       String prenom = res.getString("prenom") ;
       // Creation d'une instance de Personne
       Personne personne = new Personne() ;
       // Remplissage de l'objet de type Personne
       personne.setNom(nom) ;
       personne.setPrenom(prenom) ;
        // Ajout de l'objet de type Personne dans la List
       personnesList.add(personne) ;
     }
     res.close() ;
     return personnesList ;
    }

Discussions similaires

  1. Réponses: 6
    Dernier message: 22/02/2010, 14h05
  2. Sérialiser un objet dans une page JSP
    Par techz dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 16/08/2009, 20h11
  3. [Résolut]Passer un objet d'une page à une autre
    Par toun1988 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 04/11/2008, 00h21
  4. [POO] Passer un objet d'une page à l'autre
    Par Sh4dow49 dans le forum Langage
    Réponses: 9
    Dernier message: 27/10/2008, 19h27
  5. [JSP] Passer un objet d'une page à une autre
    Par critok dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 07/07/2006, 14h24

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