私はプライムフェイスが初めてです。PieChart を生成している場合、つまり PieChartModel を静的またはサンプル情報で設定している場合は正常に動作しますが、データベースのデータを使用すると java.lang.NullPointerException が発生します。
私の豆
public class ChartControllerPie {
@EJB
private session.SubscribeFacade ejbsubscribe;
public List<String> v() {
return ejbsubscribe.allVille();
}
private PieChartModel pieModel;
public ChartControllerPie() {
createPieModel();
}
public PieChartModel getPieModel() {
return pieModel;
}
private void createPieModel() {
pieModel = new PieChartModel();
pieModel.set("bouhajla", 1540);
pieModel.set("meknasi", 325);
pieModel.set("mater", 702);
pieModel.set("najta", 421);
}
}
このメソッドは結果を返します
@EJB
private session.SubscribeFacade ejbsubscribe;
public List<String> v() {
return ejbsubscribe.allVille();
}
しかし、この v(); を追加すると ??????? 私の豆がうまくいかない
public class ChartControllerPie {
@EJB
private session.SubscribeFacade ejbsubscribe;
public List<String> v() {
return ejbsubscribe.allVille();
}
private PieChartModel pieModel;
public ChartControllerPie() {
createPieModel();
}
public PieChartModel getPieModel() {
return pieModel;
}
private void createPieModel() {
pieModel = new PieChartModel();
v();// for use data
pieModel.set("bouhajla", 1540);
pieModel.set("meknasi", 325);
pieModel.set("mater", 702);
pieModel.set("najta", 421);
}
}
問題は単にデータベースから PieChartModel を作成することです
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui"
xmlns:ui="http://java.sun.com/jsf/facelets">
<ui:composition template="statistiquefaces.xhtml">
<ui:define name="title">
</ui:define>
<ui:define name="centre">
<p:pieChart id="custom" value="#{chartControllerPie.pieModel}" legendPosition="e" fill="false" showDataLabels="true"
title="Custom Options" style="width:400px;height:300px" sliceMargin="5" diameter="150" />
</ui:define>
</ui:composition>
</html>