我正在尝试使用ChartBean
PrimeFaces 的示例。这是视图:
<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>
这是豆子:
@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 构造
INFO: ChartBean 构造
所以bean被实例化了两次。这是如何引起的,我该如何避免呢?我正在与数据库交互以获取一些数据以显示在 UI 中,这样就不必要地获取了两次数据。