如何在单击按钮时将XHTML页面加载到primefaces中的对话框中?

时间:2014-06-04 08:37:37

标签: javascript jquery jsf jsf-2 primefaces

我需要在按下按钮的时候在prime-faces中的对话框中加载一个XHTML页面,到目前为止我尝试的内容会立即在主XHTML中加载页面,我可以在浏览器中使用视图源显示,我只需要只在按下按钮加载它。

我尝试过的事情:

<p:commandButton value="Learn More" style="float:right;"
onclick="helpDialogVar.show(); return false;" />

<p:dialog id="basicDialog" header="Learn More"
    widgetVar="helpDialogVar" height="300" width="500" resizable="false"
    position="right" closable="true" closeOnEscape="true" draggable="true"
>
<ui:include src="page_to_load_inside_dialog.xhtml"    
        </p:dialog>

同样使用iframe:

  <p:commandButton value="Learn More" style="float:right;"
       onclick="helpDialogVar.show(); return false;" />

 <p:dialog id="basicDialog" header="Learn More"
    widgetVar="helpDialogVar" height="300" width="500" resizable="false"
    position="right" closable="true" closeOnEscape="true" draggable="true"
    onHide="jQuery('#someId').hide();" onShow="jQuery('#someId').show();">
    <h:form prependId="false">
    <h:outputFormat escape="false">
    <iframe frameborder="0" align="left" src="page_to_load_inside_dialog.xhtml"
    name="someName" id="someId" scrolling="auto" width="750"
    height="500" marginheight="5" marginwidth="10">
</iframe>
    </h:outputFormat>
    </h:form>
</p:dialog>

还有其他建议吗?

1 个答案:

答案 0 :(得分:0)

您应该在对话框中设置dynamic="true"属性。


理想情况下,您应该使用primefaces'Dialog Framework

启动对话框