将操作结果渲染到对话框。可能?

时间:2013-05-06 14:19:35

标签: dynamic jsf-2 primefaces dialog

直升机,

我想问一下primefaces对话框相关的问题。

PrimeFaces-4.0-SNAPSHOT包含新的Dialog Framework,如果您返回dialog:假装的操作结果,则可以动态生成对话框。 http://www.primefaces.org/showcase/ui/dialogFrameworkData.jsf
据我所知,它需要结果并将其呈现为自动生成的对话框内容。

由于Primefaces 4.0需要一些时间才能完成,我想知道是否可以通过其他方式实现类似的功能。通过类似的功能,我的意思是在对话框中显示(或渲染)另一个视图。

我目前正在开发的项目是非常动态的,主要基于BPM,显示带有动态内容的对话框的能力非常有用。

更新 我自己一直在调查Primefaces存储库,并发现了POC对话框架实现的修订:https://code.google.com/p/primefaces/source/detail?r=8808

感谢。

1 个答案:

答案 0 :(得分:0)

是。您可以使用jQuery UI dialogs

用法非常简单。假设您要在对话框中显示其内容<h:panelGroup>,然后您可以先重新呈现此panelGroup,然后在其上调用dialog()方法。

 <h:panelGroup id="dialogContainer" styleClass='dialog'>  
        <p:dataTable var="car" value="#{tableBean.carsSmall}">  
            <p:column headerText="Model">  
                <h:outputText value="#{car.model}" />  
            </p:column>  

            <p:column headerText="Year">  
                <h:outputText value="#{car.year}" />  
            </p:column>  

            <p:column headerText="Manufacturer">  
                <h:outputText value="#{car.manufacturer}" />  
            </p:column>  

            <p:column headerText="Color">  
                <h:outputText value="#{car.color}" />  
            </p:column>  

            <p:column headerText="Color">  
                <p:commandButton icon="ui-icon-search" actionListener="#{tableBean.selectCarFromDialog(car)}" />  
            </p:column>  
        </p:dataTable>  
    </h:panelGroup>  

点击按钮后,您首先需要重新呈现dialogContent,然后致电$('.dialog').dialog();(请阅读API以获取dialog()的完整参数集

但我不确定你是什么意思

  

因为Primefaces 4.0需要一些时间才能完成

你的意思是框架本身需要时间才能达到最后阶段或学习曲线陡峭吗?如果是前者,使用jQuery UI对话框是有道理的。如果是后者,我认为采取任何其他方法都不会更快!无论如何,希望这有助于:)

UPDATE:实际上,您可以重新渲染内容而不是容器本身。因此,在此示例中,您可以重新呈现p:dataTable而不是容器。