页面加载后加载面板内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了页面加载后加载面板内容相关的知识,希望对你有一定的参考价值。

我有面板仪表板:

<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)

页面加载后,以及此方法完成后更新其内容。

以上是关于页面加载后加载面板内容的主要内容,如果未能解决你的问题,请参考以下文章

加载 angularjs 视图后加载 jquery 模块?

仅在切换导航选项卡后加载 PHP 内容

jQuery:获取 .timeago() 以处理 DOM 就绪后加载的元素(Ajax)

页面加载后加载mysql查询

延迟后加载 iFrame 的源

ShareThis - AJAX 内容不工作后加载的按钮