一尘不染

动态创建PrimeFaces对话框

ajax

我正在使用primefaces 3.3.1和JSF 2(Mojarra 2.1.9)。

我有一个包含DataTable组件和Dialog的页面,以显示DataTable条目的详细信息。当我有一个对话框时,这非常简单。我要尝试允许用户同时打开两个或三个带有不同条目详细信息的dailog。有人知道如何从服务器获取整个AJAX对话框,而不仅仅是对话框内容吗?


阅读 234

收藏
2020-07-26

共1个答案

一尘不染

是的,我做到了。为此,我在支持bean中以编程方式创建了必要的对话框。我知道这并不是最佳做法,但此刻我认为这只是可能的解决方案。首先,我在JSF页面上添加了一个小组面板,该面板是对话框的容器。然后在支持bean上,我有一些像这样的代码:

UIComponent panelGroup = facesContext.getViewRoot().findComponent("panel_id");
Dialog dialog = new Dialog();
dialog.setHeader("Sample");
dialog.setVisible(true);
dialog.setMinimizable(true);
...
panelGroup.getChildren().add(dialog);
...
RequestContext requestContext = RequestContext.getCurrentInstance();
requestContext.update("panel_id");
2020-07-26