Bonjour à tous,
j'essaie de récupérer une liste dans ma jsp mais sans succès.
Je dispose d'une classe DepartementDao dans laquelle je récupère un département grâce à la méthode find.
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 public class DepartementDao extends DAO<Departement>{ public Departement find(int number) { Departement dep = new Departement(); try { ResultSet result = this .connect .createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE ).executeQuery( "SELECT * FROM Departement D, Ville V WHERE D.number=V.departement_number and number = " + number ); if(result.first()){ VilleDao villeDao = new VilleDao(); ArrayList<Ville> listVille = new ArrayList<Ville>(); result.beforeFirst(); while(result.next() && result.getInt("V.id") != 0) listVille.add(villeDao.find(result.getInt("V.id"))); result.first(); dep = new Departement(number, result.getString("D.name"), listVille); } } catch (SQLException e) { e.printStackTrace(); } return dep; }
J'ai testé ce code dans ma classe main (jai un bean Departement, qui a un attribut Name) :
ça fonctionne bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 DAO<Departement> departement = new DepartementDao(); ArrayList<String> allDepartments = new ArrayList<String>(); for(int i = 1; i <= 102; i++){ allDepartments.add(departement.find(i).getName().toString()); } for (String dep : allDepartments){ System.out.println(dep); }
Le soucis c'est que j'aimerai récupérer cette liste de départements dans ma jsp, alors j'essaie de faire la même chose dans ma jsp, mais j'obtiens une NullPointeurException lorsque je set ma liste.
Mon erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <% DAO<Departement> departement = new DepartementDao(); ArrayList<String> departements = new ArrayList<String>(); departements.add(departement.find(1).getName().toString()); %>
java.lang.NullPointerException
dao.DepartementDao.find(DepartementDao.java:16)
Y a t'il un moyen plus simple de récupérer ma liste ? et sinon, pourquoi est ce j'obtiens cette exception dans ma jsp et pas dans ma classe de test ?
Merci à vous.
Partager