Jsf Primefaces对话框框架能否从外部域显示xhtml?
当我读到Primefaces对话框框架(DF)“用于在对话框中打开外部xhtml页面”时,我认为这意味着您可以从另一个域显示xhtml 如果是这样的话,我怎么能给这个方法一个绝对的url。。。Jsf Primefaces对话框框架能否从外部域显示xhtml?,jsf,jsf-2,primefaces,dialog,Jsf,Jsf 2,Primefaces,Dialog,当我读到Primefaces对话框框架(DF)“用于在对话框中打开外部xhtml页面”时,我认为这意味着您可以从另一个域显示xhtml 如果是这样的话,我怎么能给这个方法一个绝对的url。。。 requestContext.getCurrentInstance().openDialog(结果) 这些问题似乎没有解决 如果不是这样,那么DF的目的/优势是什么?如果我只能在同一个应用程序中显示xhtml,为什么不使用声明性的组件呢?例如,如果您想重用来自多个页面的对话框,可以将其放在中 OpenDi
requestContext.getCurrentInstance().openDialog(结果)
这些问题似乎没有解决
如果不是这样,那么DF的目的/优势是什么?如果我只能在同一个应用程序中显示xhtml,为什么不使用声明性的
组件呢?例如,如果您想重用来自多个页面的对话框,可以将其放在
中
OpenDialog使页面作者能够在对话框中打开通过JSF导航结果引用的xhtml,选项是对话框的配置属性,如modal、DRAGABLE,最后可选的参数是视图参数,用于将参数传递给对话框
实际上,PrimeFaces博客条目引用了这一点,这意味着使用内部应用程序视图结果来引用对话框。这将限制应用程序JSF导航案例的路径
那么对话框架的优势是什么?我想说的是,它使您能够在运行时指定结果和对话框属性。假设您有一个car表,当用户单击一行时,您会在其中打开一个详细信息对话框。如果您需要根据car的分支显示不同的内容,则可以很容易地控制对话框中要呈现的内容:
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);
这样做将是一件非常简单的事情。否则,使用classingp:dialog
标记,根据要显示的内容,您只能使用一个对话框,其中包含条件渲染
根据要渲染的内容更改对话框属性的可能性似乎也很有趣
另请参见: