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

Java Discussion :

null pointer exception


Sujet :

Java

  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2010
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 55
    Par défaut null pointer exception
    Bonjour,
    je dévéloppe une application de gestion de congé, j'ai crée donc dans ma base une table "conge" et je veux récupérer les données enregistré dans cette table dans une liste. J'ai crée donc une classe "CongeDTO" dont le code est

    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
    package fr.sodifrance.vieSociale.dto;
     
    public class CongeDTO {
    	private int id;
    	private String nom;
    	private String prenom;
    	private String datedebut;
    	private String datefin;
    	private String heuredebut;
    	private String heurefin;
    	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;
    	}
    	public String getDatedebut() {
    		return datedebut;
    	}
    	public void setDatedebut(String datedebut) {
    		this.datedebut = datedebut;
    	}
    	public String getDatefin() {
    		return datefin;
    	}
    	public void setDatefin(String datefin) {
    		this.datefin = datefin;
    	}
    	public String getHeuredebut() {
    		return heuredebut;
    	}
    	public void setHeuredebut(String heuredebut) {
    		this.heuredebut = heuredebut;
    	}
    	public String getHeurefin() {
    		return heurefin;
    	}
    	public void setHeurefin(String heurefin) {
    		this.heurefin = heurefin;
    	}
     
     
    	}

    est dans le DAO j'ai crée la méthode suivante qui permet de récupérer la liste

    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
    public List<CongeDTO> getListConge() {
    		List<CongeDTO> listeConge = new ArrayList<CongeDTO>();
    		PreparedStatement ps=null;
    		ResultSet rs=null;
    		try {		   
    			Class.forName("com.mysql.jdbc.Driver").newInstance();
    	        con = DriverManager.getConnection(url, "lportal", "lportal");
    	        String query="select * from conge ";
    	        ps=con.prepareStatement(query);
    	        rs=ps.executeQuery();
    	        while (rs.next()) {		
            	CongeDTO edit=new CongeDTO();
            	edit.setId(rs.getInt("id"));
            	edit.setNom(rs.getString("nom"));
            	edit.setPrenom(rs.getString("prenom"));
            	edit.setDatedebut(rs.getString("date_debut"));
            	edit.setDatefin(rs.getString("date_fin"));
            	edit.setHeuredebut(rs.getString("heure_debut"));
            	edit.setHeurefin(rs.getString("heure_fin"));
            	listeConge.add(edit);
    	        }
    	        ps.close();
    	        rs.close();
    			}
    		catch (Exception e) {
    			e.printStackTrace();
    			}
    		finally{
    			if(con!=null) {
    				try
    				{
    					con.close();
    				}
    				catch(SQLException sql){
    				}
    			}
    		}
    		return listeConge;
    	}


    est dans le "view" j'ai crée une table que je vais le remplir avec les données de la liste dont le code est(une partie de code)


    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
    <fieldset>
    		<table border="2" bordercolor="#FFFFFF" bgcolor="#FFFFFF"
    			class="sortable" width="1200">
    			<tr bgcolor="#CCCCCC" style="cursor: move;" height="30">
    				<td width="20" align="center"><span class="Style2"></span></td>
    				<td width="50" align="center"><strong>Date début</strong></td>
    				<td width="50" align="center"><strong>Heure début</strong></td>
    				<td width="40" align="center"><strong>Date fin</strong></td>
    				<td width="150" align="center"><strong>Heure fin</strong></td>
    			</tr>
    			  <%
    	    String format="odd";
    	    for (int i = 0; i < listConge.size(); i++) {
    		CongeDTO conge = listConge.get(i);
    	%>
        <tr class="<%=format %>" height="20">
    	      <td align="center"><font size="2" face="Verdana"><%= conge.getDatedebut() %> </font></td>
    	      <td align="center"><font size="2" face="Verdana"><%= conge.getDatedebut() %></font></td>  
    		  <td align="center"><font size="2" face="Verdana"><%= conge.getDatedebut() %></font></td>
    		  <td align="center"><font size="2" face="Verdana"><%= conge.getDatedebut() %></font></td>
    	      </tr>  
          <% if(format.equals("odd")) format="even";
          else format="odd";     
    }
    %> 
    		</table>
    		</fieldset>
    mon probleme est que j'ai l'errer suivante "null pointer exception" cad que la liste retourné est vide mais je ne comprend pas d'ou vient le probleme, si quelq'un a une idée.
    remarque:le format "even" et "odd" sont défini dans un fichier css pour gérer l'affichage.
    merci d'avance pour votre aide

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2011
    Messages : 8
    Par défaut Exception
    Verifies si l'un de tes champs ne contient pas la valeur nulle.

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2010
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 55
    Par défaut
    Citation Envoyé par adams2011 Voir le message
    Verifies si l'un de tes champs ne contient pas la valeur nulle.
    J'ai fait le débogage, les valeurs ne sont pas nulles, en plus il m'affiche que le size de la liste est égale à 4(c'est la meme taille que le tableau conge).

  4. #4
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    A vue de boule de cristal (pas evident de deviner ou est le probleme puisque tu ne mets pas la ligne concernée par l'exception), je pencherais pour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for (int i = 0; i < listConge.size(); i++)
    Est ce que tu es sur que listConge est créé avant d'etre utilisé ?

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2010
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 55
    Par défaut
    Citation Envoyé par hwoarang Voir le message
    A vue de boule de cristal (pas evident de deviner ou est le probleme puisque tu ne mets pas la ligne concernée par l'exception), je pencherais pour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for (int i = 0; i < listConge.size(); i++)
    Est ce que tu es sur que listConge est créé avant d'etre utilisé ?
    la ligne concernée par l'exception est la ligne de la boucle for, listConge est crée au niveau de la page view par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <%
    List<CongeDTO> listConge = (List<CongeDTO>)request.getAttribute("liste.conge");
    %>

  6. #6
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    Dans ce cas, il semble que request.getAttribute renvoie null...

  7. #7
    Membre confirmé
    Inscrit en
    Juillet 2010
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 55
    Par défaut
    Citation Envoyé par hwoarang Voir le message
    Dans ce cas, il semble que request.getAttribute renvoie null...
    J'ai déja utilisé a meme syntaxe pour d'autres listes et ca marche bien, en plus lorsque je récupere la liste avec request.getAttribute la page s'affiche avec les éléments html alors que lorsque j'ajoute la boucle for rien ne s'affiche

Discussions similaires

  1. Tomcat 5.5 Null Pointer Exception
    Par nono44200 dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 07/04/2007, 10h00
  2. Null pointer Exception pour ma Fenetre
    Par LeXo dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 22/01/2007, 09h17
  3. Null Pointer Exception
    Par gloglo dans le forum Langage
    Réponses: 4
    Dernier message: 20/12/2006, 11h32
  4. [Struts] Null Pointer Exception
    Par n@n¤u dans le forum Struts 1
    Réponses: 1
    Dernier message: 01/08/2006, 13h10
  5. Null Pointer Exception
    Par snouppy dans le forum JBuilder
    Réponses: 3
    Dernier message: 13/06/2006, 21h53

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