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 :

Problème d'affichage avec la création d'une page JSP


Sujet :

Servlets/JSP Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 13
    Par défaut Problème d'affichage avec la création d'une page JSP
    Bonjour

    J'ai une probleme avec la creation d'une page jsp , c'est l'affichage qui me pose des problemes .

    Dans mon servlet apres la connection avec la bd j'ai cree des objects ..

    Et apres dans ma page JSP je veux recuperer les donnes dans un tableau ( Nom_salle ,Etage ,Superficie, Date_deb ,Date_fin) La probleme c'est que les dates sont bien affiche mais le Nom_salle ,Etage ,Superficie s'affiche 2 fois le meme valeurs . voila l'affichage de ma page jsp c'est :
    Nom_salle Etage Superficie Date_deb Date_fin
    salleInfoTD2 1 80.3 Fri Apr 23 08:00:00 CEST 2010 Fri Apr 23 10:00:00 CEST 2010

    salleInfoTD2 1 80.3 Fri Apr 23 09:00:00 CEST 2010 Fri Apr 23 11:00:00 CEST 2010
    Donc voila dans mon servlet apres la connection avec la bd j'ai cree des object ..
    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
     
    // connection avec la bd 
    Salle nom_salle=new Salle();
    nom_salle.setNom("salleInfoTD1");
    nom_salle.setEtage(1);
    nom_salle.setSurface(40.30);
    nom_salle.AfficherDate_deb(23, 04, 2010, 8, 00, 00);
    nom_salle.AfficherDate_fin(23, 04, 2010, 23 ,00, 00);
     
    nom_salle.setNom("salleInfoTD2");
    nom_salle.setEtage(1);
    nom_salle.setSurface(80.30);
    nom_salle.AfficherDate_deb(23, 04, 2010, 9, 00, 00);
    nom_salle.AfficherDate_fin(23, 04, 2010, 12,00, 00);
            req.getSession(true).setAttribute("salle",nom_salle);
    Et le code de la page 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>InfoBDD</title>
    </head>
    <body>
     
       <table border="1">
       <tr><th>Nom_salle</th><th>Etage</th><th>Superficie</th><th>Date_deb</th><th>Date_fin</th></tr>
       <%Salle salle=(Salle)session.getAttribute("salle");%>
       <tr>
       <td><%=salle.getNom()%></td>
       <td><%=salle.getEtage()%></td>
       <td><%=salle.getSurface()%></td>
       <td><%=salle.AfficherDate_deb(23, 04, 2010, 8 ,00, 00)%></td>
       <td><%=salle.AfficherDate_fin(23, 04, 2010, 10,00, 00)%></td>
       </tr>
       <td><%=salle.getNom() %></td>
       <td><%=salle.getEtage() %></td>
       <td><%=salle.getSurface() %></td>
       <td><%=salle.AfficherDate_deb(23, 04, 2010, 9,00, 00)%></td>
       <td><%=salle.AfficherDate_fin(23, 04, 2010, 11,00, 00)%></td>
       </tr>
       </table>
       <jsp:include page="Form.jsp"/>
    </body>
    </html>
    Merci beaucoup pour votre aide .

  2. #2
    Membre Expert
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Par défaut
    Bonjour,

    C'est pour l'émission "Caméra cachée"?

    Tu écris que tu crées des objets. Tu instancies un objet nom_salle. En plus, pour l'affichage dans la JSP, tu fournis les dates.

    Un bout de code pour te remettre sur le chemin d'une solution (pas tester)
    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
     
    List<Salle> reservation = new ArrayList<Salle>();
    Salle salle=new Salle();
    salle.setNom("salleInfoTD1");
    salle.setEtage(1);
    salle.setSurface(40.30);
    salle.AfficherDate_deb(23, 04, 2010, 8, 00, 00);
    salle.AfficherDate_fin(23, 04, 2010, 23 ,00, 00);
    reservation.add(salle);
     
    salle = new Salle();
    salle.setNom("salleInfoTD2");
    salle.setEtage(1);
    salle.setSurface(80.30);
    salle.AfficherDate_deb(23, 04, 2010, 9, 00, 00);
    salle.AfficherDate_fin(23, 04, 2010, 12,00, 00);
     
    req.getSession(true).setAttribute("reservation",reservation);
    Je te laisse la main pour l'affichage. Il suffit de parcourir "reservation".

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 13
    Par défaut
    Merci pour votre réponse.

    Donc voici les modifications que j’ai faites.
    La problème c’est que L’affichage de tableau maintenant est :*
    il n'affiche pas corectement les 2 objets de type Salle

    Nom_salle Etage Superficie Date_deb Date_fin
    salleInfoTD2 1 80.3 null null

    La page 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     
    <%@page import="packagetes1.Salle"%>
    <%@page import="java.util.Iterator"%>
    <%@page import="java.util.ArrayList"%>
     
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Bienvenue</title>
    </head>
    <body>
       <%ArrayList<Salle> list = new ArrayList<Salle>();
       Iterator <Salle> iterator =list.iterator();
       while (iterator.hasNext()){
           iterator.next();
       }%>
       <table border="1">
       <tr><th>Nom_salle</th><th>Etage</th><th>Superficie</th><th>Date_deb</th><th>Date_fin</th></tr>
       <%Salle salle=(Salle)session.getAttribute("salle");%>
       <td><%=salle.getNom()%></td>
       <td><%=salle.getEtage()%></td>
       <td><%=salle.getSurface()%></td>
       <td><%=salle.getDate_deb()%></td>
       <td><%=salle.getDate_fin()%></td>
       </tr>
     
       </table>
       <jsp:include page="Form.jsp"/>
    </body>
    </html>
    et le servlet ...
    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
     
            ArrayList<Salle> list = new ArrayList<Salle>();
     
        Salle nom_salle=new Salle();
        nom_salle.setNom("salleInfoTD1");
        nom_salle.setEtage(1);
        nom_salle.setSurface(40.30);
            nom_salle.AfficherDate_deb(23, 04, 2010, 8, 00, 00);
            nom_salle.AfficherDate_fin(23, 04, 2010, 23 ,00, 00);
     
     
            Salle nom_salle1=new Salle();
            nom_salle1.setNom("salleInfoTD2");
        nom_salle1.setEtage(1);
        nom_salle1.setSurface(80.30);
            nom_salle1.AfficherDate_deb(23, 04, 2010, 9, 00, 00);
            nom_salle1.AfficherDate_fin(23, 04, 2010, 12,00, 00);
     
            list.add(nom_salle);
            list.add(nom_salle1);
    et mon servlet
    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
     
    import javax.servlet.http.HttpServletRequest; 
    import javax.servlet.http.HttpServletResponse;
     
    public class Tesr extends HttpServlet {
     
        protected void doGet(HttpServletRequest req, HttpServletResponse res)
                throws ServletException, IOException {
     
            res.setContentType("text/html");
            PrintWriter out = res.getWriter();
            try {
                Class.forName("com.mysql.jdbc.Driver");
                Connection ma_connexion = DriverManager.getConnection(
                    "jdbc:mysql://localhost:3306/project", "test", "test");
            Statement mon_statement =   ma_connexion.createStatement();
            ResultSet mon_resultat = mon_statement
                        .executeQuery("SELECT * FROM salle");
     
                if (mon_resultat == null)
                    return;
     
                while (mon_resultat.next()) {
    System.out.println("nom_salle=" + mon_resultat.getObject("nom_salle") + ", "
                       + "date_deb=" + mon_resultat.getObject("date_time_deb")+     ", " + "date_fin="+ mon_resultat.getObject("date_time_fin") + ", "
          + "etage=" + mon_resultat.getObject("numero_etage") + ", " + "superficie="+ mon_resultat.getObject("superficie"));
     
                }
     
            ArrayList<Salle> list = new ArrayList<Salle>();
     
            Salle nom_salle=new Salle();
            nom_salle.setNom("salleInfoTD1");
            nom_salle.setEtage(1);
            nom_salle.setSurface(40.30);
            nom_salle.AfficherDate_deb(23, 04, 2010, 8, 00, 00);
            nom_salle.AfficherDate_fin(23, 04, 2010, 23 ,00, 00);
     
            Salle nom_salle1=new Salle();
            nom_salle1.setNom("salleInfoTD2");
            nom_salle1.setEtage(1);
            nom_salle1.setSurface(80.30);
            nom_salle1.AfficherDate_deb(23, 04, 2010, 9, 00, 00);
            nom_salle1.AfficherDate_fin(23, 04, 2010, 12,00, 00);
     
            list.add(nom_salle);
            list.add(nom_salle1);
            req.getSession(true).setAttribute("salle",nom_salle);
     
            }
     
            catch (Exception e) {
     
                System.out.println("echec pilote : " + e);
     
            }
            req.getRequestDispatcher("Affich.jsp").forward(req,res);
        }
    }

  4. #4
    Membre Expert
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Par défaut
    Prière de relire votre code et le mettre entre les balises [CODE] (bouton #)

    J'ai la sensation que vous écrivez votre code sans le comprendre et en espérant que vous allez trouver les bons numéros....

    Remettez un peu d'ordre dans votre code et expliquez-nous ce que vous faites.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 13
    Par défaut Bonjour
    Bonjour

    J’ai une class Salle qui contiens des variables ( nom ,etage , surface, date_deb,date_fin - la date est en format GregorianCalendar) et des méthodes get et set .

    Dans mon servlet j’ai crée 2 objets de type Salle : mon_salle et nom_salle1 et je voudrais le mettre dans une list.

    Pour afficher plusieurs Salle j’ai parcourir cette liste dans mon jsp.

    (Dans mon servlet j’ai fait le conection avec la bd qui est rempli)

    L’affichage de mon jsp est sous forme de tableau qui contient les éléments : nom, étage, surface, date_deb et date_fin.

    Le problème c’est que il affiche une seule ligne, au lieu d’afficher 2 lignes.
    L’affichage souhaite est :

    Nom_salle Etage Superficie Date_deb Date_fin
    salleInfoTD1 1 40.3 « Recuperer La date en format Gregorian » « Recuperer La date en format Gregorian »
    SalleInfoTD2 1 80.3 « Recuperer La date en format Gregorian » « Recuperer La date en format Gregorian »

    Et l’affichage maintenat est :

    Nom_salle Etage Superficie Date_deb Date_fin
    salleInfoTD1 1 40.3 null null

    La class Salle :

    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
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
     
     
    public class Salle {
     
    	private String nom;
    	private int etage;
    	private double surface;
    	private GregorianCalendar date_deb;
    	private GregorianCalendar date_fin;
    	public int jour;
    	public int mois;
    	public int annee;
    	public int hour;
    	public int minute;
    	public int second;
     
    	private static final SimpleDateFormat formateur = new SimpleDateFormat("d MMM yyyy HH:mm:ss Z ");
     
    	public Salle(String nom, int etage, double surface, int jour, int mois, int annee, int hour, int minute, int second) {
    		this.nom = nom;
    		this.etage= etage;
    		this.surface = surface;
    		date_deb = new GregorianCalendar(jour, mois, annee, hour, minute,second);
    		date_fin = new GregorianCalendar(jour, mois, annee, hour, minute,second);
     
    	}
     
    	public Salle(){
     
    	}
    	public String getNom() {
    		return nom;
    	}
     
    	public void setNom(String nom) {
    		this.nom = nom;
    	}
     
    	public int getEtage() {
    		return etage;
    	}
     
    	public void setEtage(int  etage ) {
    		this.etage =etage;
    	}
     
    	public double getSurface() {
    		return surface;
    	}
     
    	public void setSurface(double surface) {
    		this.surface = surface;
    	}
     
     
    	public GregorianCalendar getDate_deb() {
    		return date_deb;
    	}
     
    	public void setDate_deb(GregorianCalendar dateDeb) {
    		date_deb = dateDeb;
    	}
     
    	public GregorianCalendar getDate_fin() {
    		return date_fin;
    	}
     
    	public void setDate_fin(GregorianCalendar dateFin) {
    		date_fin = dateFin;
    	}
     
    	public String toString() {
    		return  formateur.format(date_deb.getTime());
    	}	
    	public Date AfficherDate_deb(int jour, int mois,int annee,int hour,int minute,int second){
     
    		GregorianCalendar gc = new GregorianCalendar();
    	    gc.set(GregorianCalendar.DATE, jour);
    	    gc.set(GregorianCalendar.MONTH, mois-1);
    	    gc.set(GregorianCalendar.YEAR, annee);
    	    gc.set(GregorianCalendar.HOUR, hour);
    	    gc.set(Calendar.AM_PM, Calendar.AM);
    	    gc.set(GregorianCalendar.MINUTE, minute);
    	    gc.set(GregorianCalendar.SECOND, second);
     
     
    	   return gc.getTime();
     
     
     
    	}
    	public Date AfficherDate_fin(int jour, int mois,int annee,int hour,int minute,int second){
    		GregorianCalendar gc = new GregorianCalendar();//new GregorianCalendar() te crée un calendrier gregorien callé sur la timezone et la locale par défaut de ta machine. 
     
    		gc.set(GregorianCalendar.DATE, jour);
    		gc.set(GregorianCalendar.MONTH, mois-1);
    		gc.set(GregorianCalendar.YEAR, annee);
    		gc.set(GregorianCalendar.HOUR, hour);
    		gc.set(Calendar.AM_PM, Calendar.AM);
    		gc.set(GregorianCalendar.MINUTE, minute);
    		gc.set(GregorianCalendar.SECOND, second);
     
    		return gc.getTime(); 
     
    	} 
     
    }

    Mon servlet :

    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
     
    public class Tesr extends HttpServlet {
     
    	protected void doGet(HttpServletRequest req, HttpServletResponse res)
    			throws ServletException, IOException {
     
    		res.setContentType("text/html");
    		PrintWriter out = res.getWriter();
     
    		try {//Tout d'abord chargement dynamique du driver
    			Class.forName("com.mysql.jdbc.Driver");
    			Connection ma_connexion = DriverManager.getConnection(
    					"jdbc:mysql://localhost:3306/project", "test", "test");
    			Statement mon_statement = ma_connexion.createStatement();
    			ResultSet mon_resultat = mon_statement
    					.executeQuery("SELECT * FROM salle");
     
    			if (mon_resultat == null)
    				return;
     
    			while (mon_resultat.next()) {
     
    				System.out.println("nom_salle="
    						+ mon_resultat.getObject("nom_salle") + ", "
    						+ "date_deb=" + mon_resultat.getObject("date_time_deb")
    						+ ", " + "date_fin="
    						+ mon_resultat.getObject("date_time_fin") + ", "
    						+ "etage=" + mon_resultat.getObject("numero_etage")
    						+ ", " + "superficie="
    						+ mon_resultat.getObject("superficie"));
     
    			}
     
    		ArrayList<Salle> list = new ArrayList<Salle>();
     
    		Salle nom_salle=new Salle();
    		nom_salle.setNom("salleInfoTD1");
    		nom_salle.setEtage(1);
    		nom_salle.setSurface(40.30);
            nom_salle.AfficherDate_deb(23, 04, 2010, 8, 00, 00);
            nom_salle.AfficherDate_fin(23, 04, 2010, 23 ,00, 00);
     
     
            Salle nom_salle1=new Salle();
            nom_salle1.setNom("salleInfoTD2");
    		nom_salle1.setEtage(1);
    	    nom_salle1.setSurface(80.30);
    	    nom_salle1.AfficherDate_deb(23, 04, 2010, 9, 00, 00);
            nom_salle1.AfficherDate_fin(23, 04, 2010, 12,00, 00);
     
            list.add(nom_salle);
            list.add(nom_salle1);
     
     
     
     
    		req.getSession(true).setAttribute("salle",nom_salle);
     
    		}
     
    		catch (Exception e) {
     
    			System.out.println("echec pilote : " + e);
     
    		}
     
    		// et on appelle la page affich.jsp
    		req.getRequestDispatcher("Affich.jsp").forward(req,res);
    	}
    }
    Le JSP Affich.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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     
    <%@page import="packagetes1.Salle"%>
    <%@page import="java.util.Iterator"%>
    <%@page import="java.util.ArrayList"%>
     
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Bienvenue</title>
    </head>
    <body>
       <%ArrayList<Salle> list = new ArrayList<Salle>();
       Iterator <Salle> iterator =list.iterator();
       while (iterator.hasNext()){
               iterator.next();
       }%>
       <table border="1">
       <tr><th>Nom_salle</th><th>Etage</th><th>Superficie</th><th>Date_deb</th><th>Date_fin</th></tr>
       <%Salle salle=(Salle)session.getAttribute("salle");%>
       <td><%=salle.getNom()%></td>
       <td><%=salle.getEtage()%></td>
       <td><%=salle.getSurface()%></td>
       <td><%=salle.getDate_deb()%></td>
       <td><%=salle.getDate_fin()%></td>
       </tr>
     
       </table>
       <jsp:include page="Form.jsp"/>
    </body>
    </html>

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 13
    Par défaut ....
    J'ai complète mon Jsp ...

    En fait je voudrais utilise la liste (list) créée dans votre servlet.

    Toujours la même problème d'affichage sauf que maintenant
    j'ai une erreur qui dit '‘list cannot be resolved ‘

    merci pour vos reponse.

    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
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <%@page import="packagetes1.Salle"%>
    <%@page import="java.util.Iterator"%>
    <%@page import="java.util.ArrayList"%>
     
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Bienvenue</title>
    </head>
    <body>
     
       <% Iterator <Salle> iterator =list.iterator();
          Object valeur;
          while (iterator.hasNext()){
                  valeur=iterator.next();
                  valeur.toString(); 
       }%> 
       <table border="1">
       <tr><th>Nom_salle</th><th>Etage</th><th>Superficie</th><th>Date_deb</th><th>Date_fin</th></tr>
       <%Salle salle=(Salle)session.getAttribute("salle");%>
       <td><%=salle.getNom()%></td>
       <td><%=salle.getEtage()%></td>
       <td><%=salle.getSurface()%></td>
       <td><%=salle.getDate_deb()%></td>
       <td><%=salle.getDate_fin()%></td>
       </tr>
     
       </table>
       <jsp:include page="Form.jsp"/>
    </body>
    </html>

  7. #7
    Membre Expert
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Par défaut
    Bonjour,

    'ai une erreur qui dit '‘list cannot be resolved"
    Tu n'as pas déclaré la variable list

    Quelques corrections pour la servlet

    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
    public class Tesr extends HttpServlet {
     
    	protected void doGet(HttpServletRequest req, HttpServletResponse res)
    			throws ServletException, IOException {
     
    		res.setContentType("text/html");
    		PrintWriter out = res.getWriter();
     
    		try {//Tout d'abord chargement dynamique du driver
    			Class.forName("com.mysql.jdbc.Driver");
    			Connection ma_connexion = DriverManager.getConnection(
    					"jdbc:mysql://localhost:3306/project", "test", "test");
    			Statement mon_statement = ma_connexion.createStatement();
    			ResultSet mon_resultat = mon_statement
    					.executeQuery("SELECT * FROM salle");
     
    			if (mon_resultat == null)
    				return;
     
    			while (mon_resultat.next()) {
    				
    				System.out.println("nom_salle="
    						+ mon_resultat.getObject("nom_salle") + ", "
    						+ "date_deb=" + mon_resultat.getObject("date_time_deb")
    						+ ", " + "date_fin="
    						+ mon_resultat.getObject("date_time_fin") + ", "
    						+ "etage=" + mon_resultat.getObject("numero_etage")
    						+ ", " + "superficie="
    						+ mon_resultat.getObject("superficie"));
     
    			}
    			
    		// Pourquoi ne pas utiliser les données de la base?
                    ArrayList<Salle> list = new ArrayList<Salle>();
    			
    		Salle nom_salle=new Salle();
    		nom_salle.setNom("salleInfoTD1");
    		nom_salle.setEtage(1);
    		nom_salle.setSurface(40.30);
            nom_salle.AfficherDate_deb(23, 04, 2010, 8, 00, 00);
            nom_salle.AfficherDate_fin(23, 04, 2010, 23 ,00, 00);
            
            
            Salle nom_salle1=new Salle();
            nom_salle1.setNom("salleInfoTD2");
    		nom_salle1.setEtage(1);
    	    nom_salle1.setSurface(80.30);
    	    nom_salle1.AfficherDate_deb(23, 04, 2010, 9, 00, 00);
            nom_salle1.AfficherDate_fin(23, 04, 2010, 12,00, 00);
            
            list.add(nom_salle);
            list.add(nom_salle1);
            
            
            
                    // On sauve la liste des salles et non une salle en session
    		req.getSession(true).setAttribute("salles",nom_salle);
    		
    		}
     
    		catch (Exception e) {
     
    			System.out.println("echec pilote : " + e);
     
    		}
    		
    		// et on appelle la page affich.jsp
    		req.getRequestDispatcher("Affich.jsp").forward(req,res);
    	}
    }
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <%@page import="packagetes1.Salle"%>
    <%@page import="java.util.Iterator"%>
    <%@page import="java.util.ArrayList"%>
     
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Bienvenue</title>
    </head>
    <body>
       <table border="1">
       <tr><th>Nom_salle</th><th>Etage</th><th>Superficie</th><th>Date_deb</th><th>Date_fin</th></tr>
       <% 
          List<Salle> salles = (List)session.getAttribute("salles");
          Iterator<Salle> iterator = list.iterator();
          
          while (iterator.hasNext()){
                  final salle = iterator.next();
       %> 
       <td><%=salle.getNom()%></td>
       <td><%=salle.getEtage()%></td>
       <td><%=salle.getSurface()%></td>
       <td><%=salle.getDate_deb()%></td>
       <td><%=salle.getDate_fin()%></td>
       </tr>
       <%
        }
       %>
       </table>
       <jsp:include page="Form.jsp"/>
    </body>
    </html>
    ATTENTION: code non testé.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 13
    Par défaut ...
    Bonjour

    Donc dans mon servlet j'ai corrige

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    req.getSession(true).setAttribute("salle",list);
    et dans la page JSP j'ai plusieurs erreurs :

    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
     
    org.apache.jasper.JasperException: Impossible de compiler la classe pour la JSP: 
     
    Une erreur s'est produite à la ligne: 18 dans le fichier jsp: /Affich.jsp
    List cannot be resolved to a type
    15:    <table border="1">
    16:    <tr><th>Nom_salle</th><th>Etage</th><th>Superficie</th><th>Date_deb</th><th>Date_fin</th></tr>
    17:    <% 
    18:       List<Salle> salles = (List)session.getAttribute("salles");
    19:       Iterator<Salle> iterator = list.iterator();
    20:       
    21:       while (iterator.hasNext()){
     
     
    Une erreur s'est produite à la ligne: 18 dans le fichier jsp: /Affich.jsp
    List cannot be resolved to a type
    15:    <table border="1">
    16:    <tr><th>Nom_salle</th><th>Etage</th><th>Superficie</th><th>Date_deb</th><th>Date_fin</th></tr>
    17:    <% 
    18:       List<Salle> salles = (List)session.getAttribute("salles");
    19:       Iterator<Salle> iterator = list.iterator();
    20:       
    21:       while (iterator.hasNext()){
     
     
    Une erreur s'est produite à la ligne: 19 dans le fichier jsp: /Affich.jsp
    list cannot be resolved
    16:    <tr><th>Nom_salle</th><th>Etage</th><th>Superficie</th><th>Date_deb</th><th>Date_fin</th></tr>
    17:    <% 
    18:       List<Salle> salles = (List)session.getAttribute("salles");
    19:       Iterator<Salle> iterator = list.iterator();
    20:       
    21:       while (iterator.hasNext()){
    22:           final salle = iterator.next();
     
     
    Une erreur s'est produite à la ligne: 22 dans le fichier jsp: /Affich.jsp
    Syntax error on token "final", invalid Type
    19:       Iterator<Salle> iterator = list.iterator();
    20:       
    21:       while (iterator.hasNext()){
    22:           final salle = iterator.next();
    23:    %> 
    24:    <td><%=salle.getNom()%></td>
    25:    <td><%=salle.getEtage()%></td>
     
     
    Stacktrace:
    	org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
    	org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
    	org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:349)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:314)
    	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:589)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	packagetes1.Tesr.doGet(Tesr.java:75)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    Merci .

  9. #9
    Membre Expert
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Par défaut
    Pourtant l'erreur est simple à corriger. En plus, il faut savoir lire les messages d'erreur....


    Remplace la ligne N° 19
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Iterator<Salle> iterator = list.iterator();
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Iterator<Salle> iterator = salles.iterator();
    et n'oublie pas de déclarer la class List dans les import

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@page import="java.util.List"%>

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 13
    Par défaut ...
    J 'ai complete mon JSP et maintenat il affiche l'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Syntax error on token final , invalid type

  11. #11
    Membre expérimenté Avatar de JulienFio
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 201
    Par défaut
    As-tu pensé à rajouter l'import pour l'itérateur ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@page import="java.util.Iterator" %>

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

Discussions similaires

  1. Problème avec la redirection d'une page JSP avec ma servlet
    Par sasuki_mirak dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 23/03/2015, 14h19
  2. Problème avec la création d'une page d'inscription/connexion
    Par guigui2454000 dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 13/06/2014, 12h33
  3. Réponses: 2
    Dernier message: 17/10/2012, 09h29
  4. Réponses: 1
    Dernier message: 29/06/2012, 17h06
  5. Réponses: 8
    Dernier message: 18/05/2008, 21h04

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