Jsf Primefaces对话框框架-对话框仅打开一次

Jsf Primefaces对话框框架-对话框仅打开一次,jsf,primefaces,Jsf,Primefaces,我想打开一个关于表行单击的对话框。它第一次工作(对于每个按钮),但是当我关闭对话框时(手动,在角落里有X),它下次不会显示。刷新页面后,它会再次打开 包含表格的页面: <h:form> <p:dataTable id="dataTable" var="ad" value="#{adsBean.ads}" widgetVar="adsTable" filteredValue="#{adsBean.filteredAds}" selectionMode="single" s

我想打开一个关于表行单击的对话框。它第一次工作(对于每个按钮),但是当我关闭对话框时(手动,在角落里有X),它下次不会显示。刷新页面后,它会再次打开

包含表格的页面:

<h:form>
    <p:dataTable id="dataTable" var="ad" value="#{adsBean.ads}" widgetVar="adsTable" filteredValue="#{adsBean.filteredAds}" selectionMode="single" selection="#{adsBean.selected}" rowKey="#{ad.id}">
        <p:column id="test" headerText="test">
               <h:outputText value="test" />
        </p:column>
        <p:column>
               <p:commandButton icon="ui-icon-search" value="View" action="#{adsBean.viewAd()}" />
        </p:column>
    </p:dataTable>
</h:form>

有什么想法可以解决这个问题吗?

,但是你可以尝试使用@Khinsu,我正在使用与你链接的相同的东西。如果您指的是基本对话框,我可以试试,但我想使用对话框框架。
action=“#{adsBean.viewAd()}”
将此代码更改为
action=“#{adsBean.viewAd}”
还添加
immediate=“true”
数据表的
命令按钮中,告诉我helped@anas更改了操作并添加了即时但仍不起作用。
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:p="http://primefaces.org/ui" xmlns:ui="http://java.sun.com/jsf/facelets" >

<h:head>
</h:head>

<h:body>
    dialogcontent
</h:body>
</html>
public void viewAd() {
    Map options = [
        modal: true
        ,draggable: false
        ,resizable: false
        ,contentHeight: 470
        ,contentWidth: 620
        ,width: 650
        ,height: 500
    ]
    RequestContext.getCurrentInstance().openDialog("fragments/index/viewAdDialog", options, null);
}