prime faces命令链接ajax无法正常工作

时间:2012-12-08 10:55:29

标签: jsf primefaces

我正在尝试使用Ajax和命令链接来更新对话框。 Te表单没有任何id,我也无法运行此页面,它表示没有找到/不存在“对话框”的组件

<h:form>
    <p:tabView id="tabView">
        <p:tab id="tab1" title="Tab 1">
            <h:panelGrid columns="1" cellpadding="10">
                <h:dataTable value="#{testBean.dataList}" var="data">
                    <h:column>
                        <h:outputText value="#{data}" />
                    </h:column>
                    <h:column>
                        <p:commandLink action="#{testBean.loadCommentHistory(data)}"
                            update="dialog" oncomplete="dlg.show()">
                            <h:graphicImage url="resources/theme1/images/comments.gif"
                                styleClass="basicImageStyle" />
                        </p:commandLink>
                    </h:column>
                </h:dataTable>
                <p:dialog id="dialog" header="Dynamic Dialog" widgetVar="dlg">
                    <h:outputText value="#{testBean.commentHistory}" />
                </p:dialog>
            </h:panelGrid>
        </p:tab>
    </p:tabView>
</h:form>

1 个答案:

答案 0 :(得分:1)

p:dataTable本身就是一个容器。 p:commandLink正在p:dataTable内搜索具有ID“对话框”的元素。

解决方案:在表单中添加一个id,并将对话框称为“:formid:dialog”。

编辑:

p:tabViewp:tab也是一个容器,因此请在浏览器中检查对话框的ID并使用该对话框。 ;-)应注意避免id为jdt_id4