Bonjour,
je débute dans le développement J2EE.
J'ai une classe EJB :
Je souhaite afficher la liste des genre.
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 package sample; import java.util.ArrayList; import java.util.List; import javax.ejb.*; import javax.persistence.PersistenceContext; import javax.persistence.EntityManager; import javax.persistence.Query; import table.Genre; import table.Groupe; @TransactionManagement(TransactionManagementType.CONTAINER) @Stateless(name="Example", mappedName="ejb/SimpleBeanJNDI") public class SimpleBeanImpl implements SimpleBean { @PersistenceContext(unitName = "SimpleJPA") private EntityManager em; public String sayHello(String name) { return "Hello " + name + "!"; } public Groupe createGroupe(Groupe groupe) { em.persist(groupe); return groupe; } public List<Genre> findGenre() { Query query; List<Genre> genres; query = em.createQuery("Select g FROM Genre g"); genres = query.getResultList(); return genres; } }
Avec des scriptlet et du code java en dur, ça fonctionne.
Mais ça devient illisible, donc j'ai voulu passer par de la JSTL.
donc j'ai fait ça :
Mais il m'affiche cette erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <jsp:useBean id="Example" class="sample.SimpleBeanImpl" scope="request"/> <select name="select"> <c:forEach var="genre" items="${Example.findGenre}"> <option> <c:out value="${genre.nom}"/> </option> </c:forEach> </select>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 exception org.apache.jasper.JasperException: javax.el.PropertyNotFoundException: The class 'sample.SimpleBeanImpl' does not have the property 'findGenre'. root cause javax.el.PropertyNotFoundException: The class 'sample.SimpleBeanImpl' does not have the property 'findGenre'.
Partager