Bonjour cela fait 2 jours que je cherche a trouver une solutions partout mais en vaint je n'ai pas reussi j'espere que quelqu'un pourra m'aider , j'utilise jsf 2.0 et donc j'aimerai remplir un DataTable a partir d'une table dans mysql , j'arrive a remplir mon tableau quandje rentre des informations en dur et j'arrive aussi a enregistrer toutes les données, que je veux recupérer ,dans une ArrayList tout cela marche mais je ne sais pour quel raison juste au moment où je rentre dans le tableau (regarder en faisant du debuggage pas a pas ) ma ArrayList en vider et donc je me retrouve avec un tableau vide
voici le code:
ma pagewelcomeJSF.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
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133 <%@ page contentType="text/html; charset=UTF-8" %> <%@ taglib uri="http://java.sun.com/jsf/html" prefix="html" %> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="core" %> <%@ page import="java.sql.*"%> <%@ page import="java.io.*" %> <%@ page import="java.util.*"%> <%@ page import="java.sql.Connection"%> <%@ page import="java.sql.DriverManager"%> <%@ page import="beanPackage.*" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%-- This file is an entry point for JavaServer Faces application. --%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title> Configuration fichier Automatique </title> </head> <body> <%--Connection to BDD --%> <% String test; Integer compteur; List<Rpt> testlist ; DataTableRptBean DataTableRptBean = new DataTableRptBean(); try { // Load JBBC driver "com.mysql.jdbc.Driver" Class.forName("com.mysql.jdbc.Driver").newInstance(); /* Create a connection by using getConnection() method that takes parameters of string type connection url, user name and password to connect to database. */ Connection connection =DriverManager.getConnection ("jdbc:mysql://localhost/wrs?characterEncoding=UTF-8","wrs", "17janvier"); Statement requete = connection.createStatement(); ResultSet resultat = requete.executeQuery("SELECT rpt_file,rpt_dbname,rpt_dbuser,rpt_theme_id from wrs_rpt where rpt_id<9 "); if(resultat.next()) { do { DataTableRptBean.setRpt(resultat.getString(1),resultat.getString(2),resultat.getString(3),resultat.getString(4)); test=DataTableRptBean.testRpt(); compteur=DataTableRptBean.testCompteurRpt(); out.println(test); out.println("compteur :"+compteur); // out.println(resultat.getString(1)+"\t"+resultat.getObject(2)+"\t"+resultat.getObject(3)+"\t"+resultat.getString(4)); %> <br> <% } while(resultat.next()); testlist=DataTableRptBean.getRpt(); out.println("ATTENTION :"+testlist.get(0).getRptName()); } testlist=DataTableRptBean.getRpt(); //out.println("Connexion avec succes " + "MySQL serveur utilisé TCP/IP..."); connection.close(); } catch(Exception e){ out.println("impossible de se connecter a la base de donnees test"); out.println(e); } testlist=DataTableRptBean.getRpt(); %> <core:view> <html:form > <html:dataTable value="#{tablerpt.rpt}" var="rpt" border="1" cellspacing="4" width="80%"> <html:column> <core:facet name="header"> <html:outputText value="Nom du fichier :"/> </core:facet> <html:outputText value="#{rpt.rptName}"/> </html:column> <html:column> <core:facet name="header"> <html:outputText value="Société :"/> </core:facet> <html:outputText value="#{rpt.rptDbName}"/> </html:column> <html:column> <core:facet name="header"> <html:outputText value="Nom du créateur :"/> </core:facet> <html:outputText value="#{rpt.rptDbUser}"/> </html:column> <html:column> <core:facet name="header"> <html:outputText value="thème :"/> </core:facet> <html:outputText value="#{rpt.rptThemeId}"/> </html:column> </html:dataTable> <br> <html:outputText value="Nom du fichier: "/> <html:inputText id="runrpt_name" value="#{formulaire.runrpt_name}"/> <br> <html:outputText value="Liste déroulante des rapports: "/> <br> <html:outputText value="Nom du fichier que le Subsriber apercevra: "/> <html:inputText id="runrpt_pfx"value="#{formulaire.runrpt_pfx}"/> <br> <h4> <html:outputText value="Format du fichier à envoyer : "/> <html:selectOneMenu value="#{formulaire.format}"> <core:selectItems value="#{formulaire.formatValue}"></core:selectItems> </html:selectOneMenu> </h4> <br> <html:commandButton value="Valider" action="validation.jsp" /> <br> </html:form> </core:view> <% testlist=DataTableRptBean.getRpt(); out.println("ATTENTION :"+testlist.get(0).getRptName()); %> </body> </html>
mon bean datatableaurptbean.java:
et ma page rpt.java
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 import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; @ManagedBean(name="tablerpt") @SessionScoped /** * * @author stag */ public class DataTableRptBean implements Serializable { public List<Rpt> refRpt; public List<Rpt> TestRpt; private String test; private int compteurRpt; private String testName,testDbName,testDbUser,testThemeId; public DataTableRptBean() { if(refRpt==null) { refRpt = new ArrayList<Rpt>(); } test=""; compteurRpt=0; } public void setRpt(String pRptName,String pRptDbName,String pRptDbUser,String pRptThemeId) { refRpt.add(new Rpt(pRptName,pRptDbName,pRptDbUser,pRptThemeId)); testName= refRpt.get(compteurRpt).getRptName(); testDbName= refRpt.get(compteurRpt).getRptDbName(); testDbUser= refRpt.get(compteurRpt).getRptDbUser(); testThemeId= refRpt.get(compteurRpt).getRptThemeId(); test=testName+"/"+testDbName+"/"+testDbUser+"/"+testThemeId; //test=pRptName+"/"+pRptDbName+"/"+pRptDbUser+"/"+pRptThemeId; } public String testRpt() { return test; } public int testCompteurRpt() { compteurRpt=compteurRpt+1; return compteurRpt; } public List<Rpt> getRpt() { if(refRpt==null) { TestRpt = new ArrayList<Rpt>(); TestRpt.add(new Rpt("Votre","BaseDonné","est","vide")); return TestRpt; } return ((List)refRpt); } }
je remercie a la personne qui maiderai parceque je suis vraiment a bout
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 package beanPackage; import java.io.Serializable; import javax.faces.bean.ManagedBean; import javax.faces.bean.RequestScoped; @ManagedBean(name="rpt") @RequestScoped /** * * @author stag */ public class Rpt implements Serializable { private String rptName; private String rptDbName; private String rptDbUser; private String rptThemeId; public Rpt() { rptName=""; rptDbName=""; rptDbUser=""; rptThemeId=""; } public Rpt(String pRptName,String pRptDbName,String pRptDbUser,String pRptThemeId) { rptName=pRptName; rptDbName=pRptDbName; rptDbUser=pRptDbUser; rptThemeId=pRptThemeId; } public String getRptName() { return rptName; } public void setRptName(String pRptName) { rptName=pRptName; } public String getRptDbName() { return rptDbName; } public void setRptDbName(String pRptDbName) { rptDbName=pRptDbName; } public String getRptDbUser() { return rptDbUser; } public void setRptDbUser(String pRptDbUser) { rptDbUser=pRptDbUser; } public String getRptThemeId() { return rptThemeId; } public void setRptThemeId(String pRptThemeId) { rptThemeId=pRptThemeId; } }![]()
Partager