我正在开发primeface,Dialog框架。
但是没有像openDialog或closeDialog这样的方法。
我使用的是:
RequestContext.getCurrentInstance().openDialog("viewCars", options, null); 但是没有这样的方法。我使用的是最新的primefaces库,即4.0。
发布于 2014-02-21 19:30:50
我就是这么做的
RequestContext context2 = RequestContext.getCurrentInstance();
context2.execute("PF('opendialog').show()");记住,opendialog是xhtml中的widgetVar,它应该是这样的
<p:dialog id="dialog" header="Open Dialog Box" widgetVar="opendialog">我已经使用了它,并且它是有效的。
发布于 2014-02-21 20:07:56
anas提到的primefaces RequestContext可以从后端执行javascript。如果这是你需要的,那么这应该是一个最优的解决方案,但是,如果你必须在一个按钮点击或处理过程中打开一个对话框,你可以使用按钮事件。
<p:commandButton value="Open dialog" actionListener="anyMethod" onsuccess="dialog.show();"/>
<p:commandButton value="Close dialog" actionListener="anyMethod" onsuccess="dialog.hide();"/>您可以使用onsuccess或oncomplete,这取决于您的需要。
发布于 2014-02-21 20:55:20
实际上有这样的方法。(在4.0中)
检查是否导入了正确的RequestContext类
import org.primefaces.context.RequestContext;
其他库中有大量的RequestContext类,使用集成开发环境的自动完成功能,您可能会错误地选择错误的类。
https://stackoverflow.com/questions/21933064
复制相似问题