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

JSF Java Discussion :

probleme d'affichage "dataTable"


Sujet :

JSF Java

  1. #1
    Membre du Club
    Femme Profil pro
    Inscrit en
    Avril 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Avril 2006
    Messages : 66
    Points : 42
    Points
    42
    Par défaut probleme d'affichage "dataTable"
    bonjour tout le monde , je suis débutante dans le monde des jsf et je suis amenée à réaliser un affichage de la table client en utilisant le composant "dataTable".

    le probleme que j'ai apercu au niveau de l'execution c'est que la page est vide comme s'il y a aucun enregistrement au nivau de la table. (la table est pleine)

    bon voila le code que j'ai réalisé:
    Connexion.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
    package com.connexion;
    import java.sql.*;
     
    public class Connexion {
    	ResultSet resultat;
     
    public ResultSet getResultat(){
    	String pilote = "com.mysql.jdbc.Driver";
     
    	try{
    		Class.forName(pilote);
     
    		Connection connexion = DriverManager.getConnection("Jdbc:mysql://localhost/base","root","");
     
    		Statement instruction = connexion.createStatement();
     
    	resultat = instruction.executeQuery("SELECT * FROM CLIENT");
     
    	while(resultat.next()){
     
     
    		System.out.println("---------------------------");
    		System.out.println("N° ID_CLIENT: "+resultat.getInt("id_client"));
    		System.out.println("NOM: "+resultat.getString("nom"));
    		System.out.println("PRENOM: "+resultat.getString("prenom"));
     
    	}
    }
    catch (Exception e){
     
    	System.out.println("echec pilote : "+e);
    }
    	return this.resultat;
    	}
     
     
     
    	public void setResultat(ResultSet resultat){
    	this.resultat = resultat;
    	}
     
    }
    Client.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
    66
    67
    68
    69
    70
    71
    72
    package com.connexion;
     
    import java.io.Serializable;
     
     
    public class Client implements Serializable {
     
     
    	private Integer id_client;
    	private String nom;
    	private String prenom;
    	private String adresse;
    	private String tel;
     
    //	------------------ Constructors  --------------------------------
    	public Client(){}
    	public Client(Integer id, String nom, String prenom, String tel){ 
    		this.id_client = id;
    		this.nom = nom;
    		this.prenom = prenom;
    		this.tel = tel;
    	}
     
    	//-----------getter setter --------------------------------
     
    	public String getAdresse() {
    		return adresse;
    	}
    	public void setAdresse(String adresse) {
    		this.adresse = adresse;
    	}
     
    	public Integer getId_client() {
    		return id_client;
    	}
    	public void setId_client(Integer id_client) {
    		this.id_client = id_client;
    	}
    	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;
    	}
    	public String getTel() {
    		return tel;
    	}
    	public void setTel(String tel) {
    		this.tel = tel;
    	}
     
    	public void setClient(Client c){
    		this.setId_client(c.getId_client());
    		this.setNom(c.getNom());
    		this.setPrenom(c.getPrenom());
    		this.setTel(c.getTel());
    	}
     
    	public Client getClient(){
     
    		return new Client(this.getId_client(), 
    						this.getNom(), 
    						this.getPrenom(), 
    						this.getTel());
    	}
    }
    listerclient.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
    <%@ page language="java" %>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
     
    <body>
    	<f:view>
     
    		<h:dataTable id="clients" 
    					 value="#{clientListBean.resultat}" 
    					 var="clients" 
    					 border="1">   
    		  <h:column>
    		    <f:facet name="header">
    		     <h:outputText  value="Nom"/>
    		    </f:facet>
    		    <h:outputText value="#{client.nom}" />
    		  </h:column>
    		  <h:column>
    		    <f:facet name="header">
    		      <h:outputText  value="Prenom"/>
    		    </f:facet>
    		    <h:outputText value="#{client.prenom}" />
    		  </h:column>
    		  <h:column>
    		    <f:facet name="header">
    		      <h:outputText  value="Adresse"/>
    		    </f:facet>
    		    <h:outputText value="#{client.adresse}" />
    		  </h:column>
     
    		</h:dataTable> 
     
    	</f:view>
    </body>
    </html>
    faces-config.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <faces-config>
    <managed-bean>
    		<managed-bean-name>clientBean</managed-bean-name>
    		<managed-bean-class>com.connexion.Client</managed-bean-class>
    		<managed-bean-scope>request</managed-bean-scope> 
    	</managed-bean>
     
    	<managed-bean>
    		<managed-bean-name>clientListBean</managed-bean-name>
    		<managed-bean-class>com.connexion.Connexion</managed-bean-class>
    		<managed-bean-scope>session</managed-bean-scope> 
    	</managed-bean>
    </faces-config>
    Merci d'avance pour votre aide

  2. #2
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Bonjour,
    Euh ... Ta classe Connexion est vraiment mal faite: tu retourne un résultat même s'il y'a eu une exception, tu ne fais que l'afficher et tu continues.
    Autre erreur: dans ta page JSF, tu a mis variable="clients" alors que dans les colonnes tu utilises client, au lieu de clients.
    Ah oui, autre chose: Il faut que tu remplies toi même une liste de Clients à partir du resultSet et utiliser plutôt cette liste dans la dataTable.
    Enfin, tu n'as pas besoin de déclarer Client dans faces-config.xml.

    Faudrait peut être revoir ses cours sur JSF

    Bonne chance.

    P.S.: Il y a eu des erreurs lors de l'exécution. Je ne sais pas sur quoi tu travailles (eclipse, netbeans, à la main, etc.), mais essaies de consulter le log de l'exécution de l'application (dans la console d'eclipse ou de netbeans, dans les logs de Tomcat, etc.) pour les voir. Ca va t'aider à corriger les problèmes.

  3. #3
    Membre du Club
    Femme Profil pro
    Inscrit en
    Avril 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Avril 2006
    Messages : 66
    Points : 42
    Points
    42
    Par défaut
    il s'uffisait tout simplement de mettre clients et ca marche.

    merci pour l'aide.

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

Discussions similaires

  1. probleme affichage Liste <dataTable
    Par skanderb dans le forum JSF
    Réponses: 1
    Dernier message: 25/04/2007, 11h10
  2. Probleme avec encodage de simple quote
    Par linkowich dans le forum Langage
    Réponses: 2
    Dernier message: 31/10/2005, 13h16

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