可以从外部域显示primeFaces对话框框架xhtml



当我阅读有关PrimeFaces对话框框架(DF)时,它是"用于打开对话框中的外部XHTML页面"的" ",我认为这意味着您可以从另一个域显示XHTML。

如果是这种情况,我该如何给该方法提供绝对的URL ... requestContext.getCurrentInstance().openDialog(outcome)

这些似乎无法解决。

如果不是这种情况,那么DF的目的/优势是什么?如果我只能从同一应用中显示XHTML,为什么不使用声明的<p:dialog>组件?如果要重复使用多个页面的对话框,则可以将其放入<ui:composition>中。

opendialog使页面作者能够通过对话框中的JSF导航结果打开一个XHTML,选项是对话框的配置属性,例如模态,可拖动,最终可选参数是将参数传递到对话框的视图参数。

实际上,PrimeFaces博客条目参考了该内容,即使用内部应用程序查看结果以供对话框。这将通往您应用程序JSF导航案例的路径界定。

那么对话框框架的优势是什么?我会说,使您能够在运行时指定结果和对话框属性。假设您有一个汽车桌,当用户单击一行时,您可以打开一个详细的对话框。向对话中的对话框中的内容很容易显示您需要显示不同的内容,这很容易:

String outcome = "dialogs/genericCar";
if (car.getBranch.equals("Ferrari")){
    outcome = "dialogs/ferrariCar";
}
else if (car.getBranch.equals("Aston Martin")){
    outcome = "dialogs/astonCar";
}
RequestContext.getCurrentInstance().openDialog(outcome);

这样做是如此清洁。否则,使用类p:dialog标签,您将仅限于单个对话框,其中有条件渲染,具体取决于您要显示的内容。

能够根据您想要渲染的内容更改对话框属性的机会似乎也很有趣。

另请参阅:

  • PrimeFaces对话框框架
  • 博客条目

最新更新