jsf - Primefaces - 无法在数据表之外找到带有标识符的组件

标签 jsf primefaces

 <ui:define name="content">
    <f:view>                        
    <h:form id="myForm" styleClass="form" >

        <p:dataTable var="provider" id="ss"  value="#{providerSelectBean.providerList}" rowKey="#{provider.license}"  

            selection="#{providerSelectBean.selectedProvider}" selectionMode="single"> 

            <p:ajax listener="#{providerSelectBean.onRowSelect}"    
                            update=":myForm:output"event="rowSelect"/>  

            <p:column sortBy="#{provider.license}" width="110" >
                <f:facet name="header">
                    <h:outputText value="License#" />
                </f:facet>
                <h:outputText value="#{provider.license}" />
            </p:column>

            <p:column sortBy="#{provider.prgName}" width="110" >
                <f:facet name="header">
                    <h:outputText value="Program Name" />
                </f:facet>
                <h:outputText value="#{provider.prgName}" />
            </p:column>

        </p:dataTable><br/>

        <p:panelGrid id="output" >
            <h:outputText value="License" />
            <h:outputText value="#{provider.license}" /> 
        </p:panelGrid>

    </h:form>           
    </f:view>

</ui:define>    

这是我第一次使用 JSF2.0 和 primefaces 3.4.1 以及 <p:ajax update给出错误
javax.faces.FacesException: Cannot find component with identifier  
":myForm:output"  referenced from "myForm:ss"

最佳答案

尝试检查生成的 HTML 代码并查看为您的 panelGrid 生成的实际 ID 并更新该 ID。如果它恰好是动态的,你总是可以使用 JQuery CSS 选择器(我发现自己经常这样做)。在你的情况下,你可以这样:

update="@([id$=output])"

这个表达式代表每个 id 以 output 结尾的组件。查看 JQuery 文档以获取更多信息。

关于jsf - Primefaces - 无法在数据表之外找到带有标识符的组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13499642/

相关文章:

java - 使用分页和 requestscope 时数据表中的数据消失

forms - primeFaces : fileUpload to byte[]

Primefaces AJAX 更新属性给出 ArrayIndexOutOfBoundsException

Tomcat 8 找不到 com.sun.faces.config.ConfigureListener 类

java - 无法通过 primefaces 命令按钮调用方法

jsf - Primefaces 如何更新对话框中的内容并保持对话框居中?

javascript - 为什么 JSF ajax 状态成功在 Chrome 中不起作用?

jsp - Java 表达式语言如何解析 boolean 属性? (在 JSF 1.2 中)

javascript - 我怎样才能找出是哪个 Javascript 引起了 Ajax 请求?

javascript - 如何将信息从 JSF 传递到 javascript