Primefaces Dialog Framework打开相同的portlet页面而不是必需的页面.
<p:commandButton value="Dialog" process="@this" icon="ui-icon-extlink" actionListener="#{controller.viewDialog}" />
Run Code Online (Sandbox Code Playgroud)
豆:
public void viewDialog() {
Map<String,Object> options = new HashMap<String, Object>();
options.put("modal", true);
options.put("draggable", false);
options.put("resizable", true);
options.put("contentHeight", 320);
RequestContext.getCurrentInstance().openDialog("viewDialog", options, null);
Run Code Online (Sandbox Code Playgroud)
viewDialog.xhtml:
<f:view xmlns="http://www.w3.org/1999/xhtml"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
xmlns:portlet="http://java.sun.com/portlet_2_0">
<h:head />
<h:body styleClass="jsf2-portlet">
<f:event type="preRenderView" listener="#{dialog.initController}" />
</h:body>
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用Primefaces 4对话框架打开对话框,
public void openDialog(String viewName) {
RequestContext.getCurrentInstance().openDialog(viewName);
}
Run Code Online (Sandbox Code Playgroud)
这有效:
<p:commandButton value="Click" action="#{impaktDialogBean.openDialog('/popup/test2')}"/>
Run Code Online (Sandbox Code Playgroud)
这不是:
<p:commandButton value="Click">
<p:ajax event="click" listener="#{impaktDialogBean.openDialog('/popup/test2')}" ></p:ajax>
</p:commandButton>
Run Code Online (Sandbox Code Playgroud)
那么,Primefaces对话框架只适用于action&actionListener ?????
我正在使用:
谢谢.
我正在尝试使用primefaces对话框架来简化我的代码.我已按照primefaces 4.0用户指南中的示例进行操作,但它无效.
我几乎逐字复制了这个例子,创建了三个文件:一个带有对话框的文件,一个调用对话框的文件和一个支持bean文件.
对话框文件名为"dialog.xhtml",位于"/ Test"文件夹中,包含:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>Cars</title>
</h:head>
<h:body>
Test dialog
</h:body>
</html>
Run Code Online (Sandbox Code Playgroud)
基本文件名为"testDialog.xhtml",位于"/ Test"文件夹中,包含:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>Test Dialog</title>
<meta name="viewport" content="width=device-width"/>
</h:head>
<h:body>
<h:form>
<p:commandButton value="View Cars" actionListener="#{hostBean.view}" />
</h:form>
</h:body>
</html>
Run Code Online (Sandbox Code Playgroud)
最后,支持bean包含:
@ManagedBean
@SessionScoped
public class HostBean implements Serializable {
public void view() {
RequestContext.getCurrentInstance().openDialog("/Test/dialog");
}
}
Run Code Online (Sandbox Code Playgroud)
当我调试它时,视图被调用但对话框没有打开.(我已将三行添加到faces-context.)
有任何想法吗?
我正在使用 Dialogflow 为业务开发机器人。我想保留一个选项“与真人交谈”。当我的客户想要与真人交谈时,bot 应该停止,我的支持人员会照顾该用户。
这怎么可能?如何暂停/停止我的机器人并让真人处理对话?