Bonjour à tous,
J'ai une servlet qui doit alimenter ma source de données à partir d'une requete SQL dont voici le code actuel :
Code JAVA : 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 package com.servlet.test; import java.io.IOException; import java.sql.Connection; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import oracle.jdbc.pool.OracleDataSource; public class testtest extends HttpServlet{ public void doGet( HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ /* PARAMETRI DI CONNESSIONE */ String login = "LOGIN"; String password = "PASSWORD"; Connection connexion = null; ResultSet rs = null; List<Data> liste = new ArrayList<Data>(); HttpSession httpSession = request.getSession(); /* CREAZIONE DATASOURCE */ OracleDataSource OracleDS; /* CONNESSIONE */ try { OracleDS = new OracleDataSource(); OracleDS.setURL("jdbc:oracle:thin:@xxx.xxx.xx.it:1521/ORCL"); /* TIPO CONNESSIONE */ OracleDS.setNetworkProtocol("tcp"); /* LOGIN + PASSWORD */ OracleDS.setUser(login); OracleDS.setPassword(password); connexion = OracleDS.getConnection(); connexion.setAutoCommit(false); System.out.println("URL : "+OracleDS.getURL()); Statement stmt = connexion.createStatement(); rs = stmt.executeQuery("SELECT NUMERO_CLIENT, NOM, PRENOM FROM CLIENT"); ResultSetMetaData rsmd = rs.getMetaData(); while (rs.next()) { System.out.println(rs.getInt("NUMERO_CLIENT")); System.out.println(rs.getString("NOM")); System.out.println(rs.getString("PRENOM")); liste.add(new Data(rs.getInt("NUMERO_CLIENT"), rs.getString("NOM"),rs.getString("PRENOM"))); } httpSession.setAttribute("liste", liste); RequestDispatcher dispatcher = request .getRequestDispatcher("/page.jsp"); dispatcher.forward(request, response); if(stmt !=null) { try{stmt.close(); } catch(Exception e){ e.printStackTrace(); } } } catch(Exception x){ System.out.println("ERROR : "+ x); } } public void doPost( HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ //Nous invoquons la méthode doGet avec les paramètres reçu par la méthode doPost doGet(request, response); } }
Data représente les 3 malheureux champs que je voudrai afficher pour le moment (car il y en a bien plus, en fait).
Code JAVA : 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 package com.servlet.test; import java.io.Serializable; public class Data implements Serializable { private int Id; private String Nom; private String Prenom; public Data(int Id, String Nom, String Prenom){ this.Id = Id; this.Nom = Nom; this.Prenom = Prenom; } public int getId(){ return Id; } public void setId(int Id){ this.Id = Id; } public String getNom(){ return Nom; } public void setNom(String Nom){ this.Nom = Nom; } public String getPrenom(){ return Prenom; } public void setPrenom(String Prenom){ this.Prenom = Prenom; } }
Je fais ensuite l'affichage de mon tableau dans ma JSP, comme ceci :
Code JSP : 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 <%@ taglib uri="http://displaytag.sf.net" prefix="display" %> <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>TABLEAU DANS UNE JSP</title> </head> <body> <display:table name="sessionScope.liste" pagesize="15" sort="liste"> <display:column property="Id" title="ID" /> <display:column property="Nom" title="Nom"/> <display:column property="Prenom" title="Prenom"/> </display:table> </body> </html>
Dans ma console, je peux voir que tout se passe bien dans ma Servlet (requete et ajout). Mais il semble qu'il ne trouve pas mes champs de la classe Data.
Voici la trace de l'erreur :
INFO [STDOUT] ERROR : org.apache.jasper.JasperException: javax.ser
vlet.ServletException: javax.servlet.jsp.JspException: Exception: [.LookupUtil]
Error looking up property "Id" in object type "com.servlet.test.Data". Cause: Unknown property 'Id' on class 'class com.servlet.test.Data'
Etrange... je me tire les cheveux
J'ai grand besoin de vos conseils experts
Merci d'avance
Partager