Bonjour![]()
j'ai vraiment cherché avant de pensé a posté ce message!!
je voudrais récupérer une liste de la basse de donnée et l'affecter dans pieModel de primefaces (camembert) mais le problème est qu'une erreur de pointeur null survient.
j'ai trois couches, métier, jsfBean, jsf (sans compter les entity class)
métier :
couche jsfBean :
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 /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package metier; :calim2: import entity.*; import java.util.List; import javax.ejb.LocalBean; import javax.ejb.Stateless; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.Query; @Stateless @LocalBean public class metierStat { @PersistenceContext(unitName = "ChartTestPU") private EntityManager em; // CaClient est une vu public List<CaClient> affiche(){ Query qq =em.createNativeQuery("select * from ca_client", CaClient.class); List<CaClient> l = (List<CaClient>)qq.getResultList(); return l; } }
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 @Named(value = "jSFBean") @SessionScoped public class ChartBean implements Serializable { @EJB private metier.metierStat metierStat; public ChartBean() { createPieModel(); } // pie private PieChartModel pieModel; public PieChartModel getPieModel() { return pieModel; } private void createPieModel() { pieModel = new PieChartModel(); // le probleme est ICI, la premiere ligne pieModel.set("Brand 1", metierStat.affiche().get(0).getSomme()); // les autre ligne ne pose pas probleme pieModel.set("Brand 2", 2); pieModel.set("Brand 3", 2); pieModel.set("Brand 4", 2); } }
dernière couche, JSF:
et si je déploie, il me sort une erreur de pointeur null
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <p:pieChart id="custom" value="#{jSFBean.pieModel}" legendPosition="e" fill="false" showDataLabels="true" title="Custom Options" style="width:400px;height:300px" sliceMargin="5" diameter="150" />
alors que j'ai pu affiché le résultat de la requête, et elle s'affiche très bien!!!
donc elle n'est pas null!!
je pense qu'il faut respecté un ordre a mon avis.
aidez moi s'il vous plait!!!
je suis coincé!!![]()
Partager