java - 找不到带有表达式的组件?

标签 java jsf primefaces

我使用 DataTable - Row Selection from prime faces 来显示用户列表,当我运行页面时遇到此错误

Cannot find component with expression ":dialog1:employes" referenced from "dialog1:j_idt43:j_idt51"

<h:form id="dialog1">
                <p:accordionPanel>
                    <p:tab title="nouveau Groupe">

                        <h:panelGrid columns="2">
                            <h:outputLabel value="nom groupe" />
                            <p:inputText value="#{CalCulJobsBean.libelle}" />
                        </h:panelGrid>
                        <p:commandButton value="submit"
                            action="#{CalCulJobsBean.ajouter()}" icon="ui-icon-check"
                            style="margin-left: 40%"
                            oncomplete="PF('DialogAddGroupesalriers').hide()" />
                    </p:tab>

                    <p:tab title="liste Salariers">

                                    <h:outputLabel value="Matricule:" />
                                    <p:inputText value="#{donneesIndividuellesBean.matricule}"
                                        onkeypress="if (event.keyCode == 13) {onchange(); return false; }">
                                        <p:ajax event="change"
                                            listener="#{donneesIndividuellesBean.chercherEmployesByMatricule()}"
                                            update=":dialog1:employes" /> 
                                    </p:inputText>
                                <!--    <p:commandButton icon="ui-icon-plus fa fa-plus"
                                        onclick="PF('dialog1').show()" update=":formdialog1">
                                    </p:commandButton> -->

                        <p:commandButton icon="ui-icon-plus fa fa-plus"
                            onclick="PF('dialog2').show()" update=":formdialog1">
                        </p:commandButton>



                            <p:panel header="liste des salariers">

                                <h2>select + to add</h2>
                                <p:dataTable id="employes"
                                value="#{donneesIndividuellesBean.employesCherches}" var="emp"
                                selection="#{donneesIndividuellesBean.identiteSelectionne}"
                                rowKey="#{emp.numedoss}" selectionMode="single">
                                <f:facet name="header">

                                </f:facet>
                            <!--    <p:ajax event="rowSelect"
                                     execute="@this"
                                    update=":employe" /> -->


                                <p:column style="width:40px">
                                    <p:graphicImage value="#{donneesIndividuellesBean.photoE}" cache="false"
                                        id="dragImg" style="width:30px; height:40px;">
                                        <f:param name="empid" value="#{emp.numedoss}" />
                                        <p:draggable for="dragImg" revert="true" helper="clone" />
                                    </p:graphicImage>
                                </p:column>
                                <p:column headerText="Matricule">
                                    <h:outputText value="#{emp.matricul}" />
                                </p:column>
                                <p:column headerText="Nom">
                                    <h:outputText value="#{emp.nom}" />
                                </p:column>
                                <p:column headerText="Prenom">
                                    <h:outputText value="#{emp.prenom}" />
                                </p:column>


                            </p:dataTable>


                </p:accordionPanel>

            </h:form>
        </p:dialog>

我的代码有什么问题?

最佳答案

一般来说,只要开发人员没有指定组件 id,JSF 就会自动生成组件 id。因此,您应该指定 <p:accordionPanel> 的 id跳过自动生成。

<p:accordionPanel id="ac"> 而言有一个 id="ac" ,您可以引用update=":dialog1:ac:employes"

关于java - 找不到带有表达式的组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26897886/

相关文章:

java - 从特定目录加载文件

java - 如何使用 Gatting 和 SSL 两种方式禁用 SSL 主机名验证

java - 在 JavaServer Faces 中导航,使用正确的参数进行重定向

java - 如何动态编辑 HTML 文件的内容

java - 从 WSDL URL 生成 WSDL 文件

java - JAXB:在 xsd 文件中设置了 maxOccurs 属性的元素的代码生成没有在 java 类中获得设置方法

jsf - 提交包含来自其他表单 JSF 的数据的表单

JSF Tomcat 7 PropertyNotFoundException

java - 打印注释中的空格

javascript - 链接 p :schedule prev next button to p:calendar like google calendar