Jsf 2 Primefaces数据表对话框问题

Jsf 2 Primefaces数据表对话框问题,jsf-2,primefaces,Jsf 2,Primefaces,我正在使用JSF2.0和primeface 3.5; 我正在显示一个数据表,在选择任何行时,我会在dailogue框中显示详细信息。现在的问题是,当页面被加载时,我第一次选择任何一行时,对话框什么也不显示,但是在那之后它工作正常,这个问题的原因是什么 <h:body> <h:form id="form"> <p:dataTable var="row" value="#{user.list}" paginator="true"

我正在使用JSF2.0和primeface 3.5; 我正在显示一个数据表,在选择任何行时,我会在dailogue框中显示详细信息。现在的问题是,当页面被加载时,我第一次选择任何一行时,对话框什么也不显示,但是在那之后它工作正常,这个问题的原因是什么

<h:body>
<h:form id="form">
    <p:dataTable var="row"
        value="#{user.list}" paginator="true"
        rows="10" selection="#{user.selectedUser}"
        filteredValue="#{user.filteredUser}" rowKey="#{row.attackID}"
        rowsPerPageTemplate="5,10,15" selectionMode="single" paginatorPosition="bottom">

        <p:ajax event="rowSelect" update=":form:display"
            oncomplete="dlg.show()" listener="#{user.selected()}"/>  

        <p:column headerText="User-ID" filterBy="#{row.userID}">
            <h:outputText value="#{row.userID}" />
        </p:column>
        <p:column headerText="Name" filterBy="#{row.userName}">
            <h:outputText value="#{row.userName}" />
        </p:column>
        <p:column headerText="Threat" filterBy="#{row.attackID}">
            <h:outputText value="#{row.attackID}" />
        </p:column>
        <p:column headerText="Rank">
            <h:outputText value="#{row.rank}" />
        </p:column>

    </p:dataTable>

    <p:dialog id="tDialog" header="Threat info" widgetVar="dlg"
        modal="true" height="250" width="300"  showEffect="explode"
        hideEffect="explode">
        <h:panelGrid id="display" columns="2" cellpadding="4">
            <h:outputText value="Attack ID:" />
            <h:outputText value="#{user.selectedUser.attackID} " />
            <h:outputText value="Name:" />
            <h:outputText value="#{user.selectedUser.attackName}" />
            <h:outputText value="Action Taken:" />
            <h:outputText value="#{user.selectedUser.actionTaken}" />
            <h:outputText value="Attack Time:" />
            <h:outputText value="#{user.selectedUser.attackTime }" />
        </h:panelGrid>
    </p:dialog>
</h:form>
</h:body>


你能尝试
update=“:form:tDialog”
而不是
update=“:form:display”
?不,这不起作用,同一问题对话框在第一次单击时不显示值,在第一次单击后它工作正常用户bean的selected()方法中的逻辑是什么?