Bonjour ,
j'ai créé une interface en jsf 2.0 , où l'utilisateur est invité à saisir un code d'une machine , une fois validé ,on doit faire certain calcul dont les resultat seront affiché sous forme de Pie Chart
voici le code page.xhtml :
la partie pieChart de mon bean :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <h:outputText value="machine"/> <h:inputText value="#{statBean.equId}"/> <h:commandButton value="valider" action="#{statBean.search}" /> <p:pieChart value="#{statBean.pieModel}" legendPosition="w" title="Sample Pie Chart" style="width:400px;height:300px"/>
sachant que les variables (D,tr,r,c) sont dynamiques et depend du l'identifiant du machine déjà saisi .
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 private PieChartModel pieModel; public void setPieModel(PieChartModel pieModel) { this.pieModel = pieModel; } public PieChartModel getPieModel() { return pieModel; } private void createPieModel() { pieModel = new PieChartModel(); pieModel.set("Brand 1", D); pieModel.set("Brand 2", tr); pieModel.set("Brand 3", r); pieModel.set("Brand 4", c); }
Mon problem que lorsque j'éxecute , je reçoi l'erreur suivante
les variables (D,tr,r,c) sont globals et pas nulles ; je teste avec
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 java.lang.NullPointerException at org.primefaces.component.chart.pie.PieChartRenderer.encodeData(PieChartRenderer.java:68) at org.primefaces.component.chart.pie.PieChartRenderer.encodeScript(PieChartRenderer.java:51) at org.primefaces.component.chart.pie.PieChartRenderer.encodeEnd(PieChartRenderer.java:36) at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:883) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1659) at javax.faces.render.Renderer.encodeChildren(Renderer.java:168) at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:853) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1652) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1655) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1655) at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:399) at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:313) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:279) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619)mais apparament , ils ne sont pas utilisées par pieChart
Code : Sélectionner tout - Visualiser dans une fenêtre à part System.out.println("chiffre "+D);
Merci d'avance pour votre aide
Partager