Совершенно новый для JSF, но я понимаю жизненный цикл.Я использую JSF 2.2, Primefaces 6.1.Я создал макет отдельно в xhtml-странице с именем bDashboard.xhtml.Работает нормально при вызове напрямую.Но когда я включаю его в другую страницу через <ui:include src="/bDashboard.xhtml" />
, графики не отображаются.Вот файл панели инструментов:
<ui:composition
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:a="http://xmlns.jcp.org/jsf"
xmlns:p="http://primefaces.org/ui"
xmlns:pt="http://xmlns.jcp.org/jsf/passthrough"
xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"
xmlns:ct="http://www.chartistjsf.org/charts"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h3>My Dashboard</h3>
<p:panelGrid columns="2" layout="grid">
<p:panel>
<p:chart type="pie" model="#{pieChartBean.pieModel1}"
style="display:block;margin-right:auto;margin-left:auto;" />
</p:panel>
<p:panel>
<p:chart type="pie" model="#{pieChartBean.pieModel2}" visible="true"
style="display:block;margin-right:auto;margin-left:auto;" />
</p:panel>
</p:panelGrid>
</ui:composition>
Этот файл выше включен таким образом:
<h:form id="buyerDashForm">
<ui:include src="/bDashboard.xhtml" />
</h:form>
Управляемый компонент Piechart:
@ManagedBean
@SessionScoped
public class PieChartBean {
private PieChartModel pieModel1;
private PieChartModel pieModel2;
@PostConstruct
public void init() {
createPieModels();
}
public PieChartModel getPieModel1() {
return pieModel1;
}
public PieChartModel getPieModel2() {
return pieModel2;
}
private void createPieModels() {
createPieModel1();
createPieModel2();
}
private void createPieModel1() {
pieModel1 = new PieChartModel();
pieModel1.set("Kajaria Builders", 540);
pieModel1.set("Bajaj Constructions", 325);
pieModel1.set("Sentinel Builders", 702);
pieModel1.set("Regency Towers", 421);
pieModel1.setTitle("Savings By Project");
pieModel1.setLegendPosition("w");
pieModel1.setShadow(false);
}
private void createPieModel2() {
pieModel2 = new PieChartModel();
pieModel2.set("Kajaria Builders", 50);
pieModel2.set("Bajaj Constructions", 35);
pieModel2.set("Sentinel Builders", 72);
pieModel2.set("Regency Towers", 41);
pieModel2.setTitle("Savings By Spend Category");
pieModel2.setLegendPosition("e");
pieModel2.setShowDataLabels(true);
pieModel2.setShadow(false);
}
Я не получаю ошибок, когдастраница отображается.