在具有速度问题的JSF中打开多个对话框

时间:2016-02-16 05:59:59

标签: jsf primefaces

我需要在成功页面上打开多个不同的对话框。在成功页面菜单上创建了大约300个菜单项,每个菜单项指的是单独的xhtml源文件。我在这样的成功页面中提到了这一点。

<p:dialog header="Terminal Master" id="TRM_MENU" onHide="false" dynamic="true"  maximizable="true" dir="ltr" closeOnEscape="true" minimizable="true" widgetVar="TRM" modal="false" width="600"  fitViewport="true" position="200,50">  
    <p:ajax event="close" listener="{terminalBean.close()}" />
    <ui:include src="TRM.xhtml"/>       
</p:dialog>
<p:dialog header="SERVICE Master" id="SRM_MENU" onHide="false" dynamic="true"  maximizable="true" dir="ltr" closeOnEscape="true" minimizable="true" widgetVar="SRM" modal="false" width="600"  fitViewport="true" position="200,50">  
    <p:ajax event="close" listener="{serviceBean.close()}" />
    <ui:include src="SRM.xhtml"/>       
</p:dialog>

<p:dialog header="Tax Master" id="TXM_MENU" onHide="false" dynamic="true"  maximizable="true" dir="ltr" closeOnEscape="true" minimizable="true" widgetVar="TXM" modal="false" width="600"  fitViewport="true" position="200,50">  
    <p:ajax event="close" listener="{taxBean.close()}" />
    <ui:include src="TXM.xhtml"/> 
</p:dialog>  

由于这个多重对话框,在更新成功页面时包含scr,似乎所有xhtml加载。它导致速度效率不足。请任何人指导我克服这个问题,或者给出完全要求的替代方案。

提前致谢。

1 个答案:

答案 0 :(得分:0)

完成对话后,一次只能打开一个对话框。所以,我做了以下修改:

<p:dialog header="Terminal Master" id="TRM_MENU" onHide="false" dynamic="true"  maximizable="true" dir="ltr" closeOnEscape="true" minimizable="true" widgetVar="TRM" modal="false" width="600"  fitViewport="true" position="200,50">  
    <p:ajax event="close" listener="#{terminalBean.close()}" />
    <c:if test="#{login.getmOpendManu().containsKey('TRM')}"> 
        <ui:include src="TRM.xhtml"/>  
    </c:if>
</p:dialog>

现在它可以满足我的要求。