我正在尝试使用PrimeFaces的ChartBean
示例。这是视图:
<h:form>
<p:layoutUnit position="center">
<p:lineChart id="linear" value="#{chartBean.linearModel}" legendPosition="e"
title="Linear Chart" minY="0" maxY="1000" style="height:600px"/>
</p:layoutUnit>
</h:form>
这是一个bean:
@Named
@RequestScoped
public class ChartBean implements Serializable {
private CartesianChartModel categoryModel;
private CartesianChartModel linearModel;
public ChartBean() {
System.out.println("ChartBean constructed");
createCategoryModel();
createLinearModel();
}
// ...
}
当我运行它时,我注意到打开页面时这个bean的构造函数被调用了两次。日志显示如下:
INFO: ChartBean constructed INFO: ChartBean constructed
因此,该bean被实例化了两次。这是怎么引起的,我该如何避免?我正在与数据库交互以获取一些要在UI中显示的数据,这种方式会导致数据不必要地被获取两次。