4
我想从后台bean动态创建一个primefaces对话框。 我写上面的代码:Primefaces以编程方式打开可关闭对话框
public void showDialog(){
UIComponent panelGroup = facesContext.getViewRoot().findComponent("form1");
System.out.println("found or not??"+ panelGroup.toString());
Dialog dialog = new Dialog();
dialog.setId("sample");
dialog.setWidgetVar("widget");
dialog.setHeader("Sample");
dialog.setVisible(true);
dialog.setMinimizable(true);
dialog.setDynamic(true);
dialog.setHideEffect("fade");
dialog.setFooter("footer");
dialog.setDraggable(true);
dialog.setMinWidth(600);
dialog.setClosable(true);
dialog.setModal(true);
dialog.setAppendToBody(false);
panelGroup.getChildren().add(dialog);
RequestContext requestContext = RequestContext.getCurrentInstance();
requestContext.openDialog("widget");
requestContext.update("form1");
}
,并在我的JSF页面:我有
<h:form id="form1" >
<h:commandButton value="show Dialog" action="#{createDialog.showDialog()}" />
</h:form>
的问题是,当我把它设置为可见,我得到了对话,但无论是我可以关闭(我没有看到关闭图标,也不能拖动它)!
谢谢你的回答,它解决了问题,你帮我理解了这个问题。还有一件事我试图从后台添加内容到对话框中,包含html和jsf标签。怎么可能。 Thnx –
您可以将jsf子组件添加到对话框中,就像添加对话框一样。链接解释如何添加html http://stackoverflow.com/questions/12301817/programmatically-created-html-components-in-jsf-managed-beans – alexSunder