我正在尝试使用 PrimeFaces (V8.0 / 7.0) 生成饼图。下面是演示代码。 注意- 我在 Glassfish5 上运行这个演示
import javax.annotation.PostConstruct;
import javax.inject.Named;
import org.primefaces.model.chart.PieChartModel;
@Named
public class PieDemoMBean {
private PieChartModel model;
@PostConstruct
public void init(){
model=new PieChartModel();
model.set("Red", 25);
model.set("Green", 25);
model.set("Blue", 25);
model.set("Black", 25);
model.setShowDataLabels(true);
}
public PieChartModel getModel() {
return model;
}
}
和 JSF 页面
<html xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
<h1>Pi Chart Demo</h1>
<div>
<p:chart type="pie" responsive="true" model="#{pieDemoMBean.model}"/>
</div>
</h:body>
</html>
最后是错误日志
Error Rendering View[/PiDemo.xhtml]
java.lang.NullPointerException
at org.primefaces.component.chart.renderer.PieRenderer.encodeData(PieRenderer.java:43)
at org.primefaces.component.chart.renderer.BasePlotRenderer.render(BasePlotRenderer.java:38)
请指教。