这是我的。xhtml
<div id="detailed_div_graph" align="center">
<p:lineChart id="linear" value="#{ChartBean.linearModel}" legendPosition="e"
title="Medical Data" minY="0" maxY="10" style="height:300px"/>
</div>
我的ChartBean
代码:
public class ChartBean implements Serializable {
private CartesianChartModel linearModel;
public ChartBean() {
createLinearModel();
}
public CartesianChartModel getLinearModel() {
return linearModel;
}
private void createLinearModel() {
linearModel = new CartesianChartModel();
LineChartSeries series1 = new LineChartSeries();
series1.setLabel("BP");
series1.set(1, 2);
series1.set(2, 1);
series1.set(3, 3);
series1.set(4, 6);
series1.set(5, 8);
linearModel.addSeries(series1);
}
}
我的代码有什么问题?
这里假定将调用这个构造函数。
public ChartBean() {
createLinearModel();
}
Jsf有阶段,您应该考虑到它们。
如果您希望在bean初始化之后首先调用createLinearModel()方法,您应该使用@PostConstruct annotation对其进行注释
@PostConstruct
private void createLinearModel(){
...
}