加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用ajax侦听器时,Primefaces对话框框架无法正常工作

发布时间:2020-12-16 02:55:46 所属栏目:百科 来源:网络整理
导读:我正在尝试使用Primefaces 4对话框架打开对话框, public void openDialog(String viewName) { RequestContext.getCurrentInstance().openDialog(viewName);} 这有效: p:commandButton value="Click" action="#{impaktDialogBean.openDialog('/popup/test2')
我正在尝试使用Primefaces 4对话框架打开对话框,

public void openDialog(String viewName) {
  RequestContext.getCurrentInstance().openDialog(viewName);
}

这有效:

<p:commandButton value="Click" action="#{impaktDialogBean.openDialog('/popup/test2')}"/>

这不是:

<p:commandButton value="Click">     
  <p:ajax event="click" listener="#{impaktDialogBean.openDialog('/popup/test2')}" ></p:ajax>
</p:commandButton>

因此,Primefaces对话框架仅适用于动作& ActionListener的?????

我正在使用:

> Primefaces 4
> Tomcat 7
> JSF 2.2.6 Mojarra

谢谢.

解决方法

你有这个:

public void openDialog(String someView) {
    RequestContext.getCurrentInstance().openDialog(someView);
}

所以当你这样做时:

<h:form id="form">
    <p:commandButton id="button" value="Click" actionListener="#{bean.openDialog('someView')}" />
</h:form>

您在Ajax响应中接受了这一点:

PrimeFaces.openDialog({
    url:'/some/address/view.xhtml',pfdlgcid:'cf8e7955-a6cf-4dd8-9a07-55cd29696a64',sourceComponentId:'form:button',sourceWidget:PF('widget_form_button'),options:{}});

所以,你可以试试这个:

<h:form id="form">
    <p:commandButton id="button" value="Click" onclick="PrimeFaces.openDialog({
        url:'/some/address/view.xhtml',options:{}});" />
</h:form>

你甚至可以使用返回值:

<h:form id="form">
    <p:growl id="growl" showDetail="true" />

    <p:commandButton id="button" value="Click" onclick="PrimeFaces.openDialog({
        url:'/some/address/view.xhtml',options:{}});">

        <p:ajax event="dialogReturn" listener="#{bean.returnedValue}" update="growl" />
    </p:commandButton>
</h:form>

AJAX只是将结果转换为目标网址.如果您已有目标网址,则无需执行此操作.在我的基本测试中,这很好,与原始测试完全一样,除了你必须在’url’字段中传递目标地址,而不是结果.

希望这可以帮助.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读