3
我有面板的儀表板:負載面板內容
<p:dashboard id="board" model="#{dashboardOptionsMB.model}">
<c:forEach var="item" items="#{dashboardOptionsMB.emsWidgets}">
<ui:include src="/pages/dashboard/panel.xhtml">
<ui:param name="widget" value="#{item.webDashboardDbBean}" />
<ui:param name="emsValue" value="#{item.emsValue}" />
</ui:include>
</c:forEach>
</p:dashboard>
我渲染頁面之前與內容加載列表dashboardOptionsMB.emsWidgets
,這正常工作與面板組件:
panel.xhtml:
<p:panel id="#{widget.widgetid}" header="#{widget.widgetheader}" closable="true" >
<h:outputText value="#{emsValue.value}" />
...
</panel>
因此,每個渲染之前我初始化所有的元素和內容用這種方法列表:
DashboardOptionsMB:
private void initWidgets(WebDashboardsDbBean dashboard) {
//dashboard is JPA entity from database
emsWidgets = dashboard.getWidgets();
...
}
我想實現的是每個面板的內容頁面加載後動態加載。例如每個面板應該叫:
initWidget(String widgetId)
頁面加載後,當這個方法完成了更新的內容。