Problème remplir un DataTable à partir de mysql
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:
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:
Code:
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);
}
} |
et ma page rpt.java
Code:
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;
}
} |
je remercie a la personne qui maiderai parceque je suis vraiment a bout :aie: