1

启动器.xhtml

这种形式使用“事物”

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:composite="http://java.sun.com/jsf/composite"
      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"
      xmlns:custom="http://java.sun.com/jsf/composite/components">
<h:form id="form">
<p:panelGrid 
id="pgid"
columns="2">
    <h:outputText value="title"/>
    <h:outputText value="#{bean.value}"/>   
</p:panelGrid>

<custom:thing 
via="#{bean.via1}"
viaListener="#{bean.via2Listener()}"        
vias="#{bean.vias1}">
</h:form>

东西.xhtml

<p:selectOneMenu                    
            process="@this"
            value="#{cc.attrs.via}">
                <p:ajax
                listener="#{cc.attrs.viaListener}"
                update="form:pgid"
                />
                <f:selectItems value="#{cc.attrs.vias}"/>
            </p:selectOneMenu>      

面孔找不到表格:pgid。尝试使用和不使用“表单”。谢谢

4

1 回答 1

2

:相对于父NamingContainer组件(在您的情况下是复合组件本身)搜索相对客户端 ID(不以 开头)。所以它form:pgid<cc:implementation>.

您需要在客户端 ID 前加上:(默认NamingContainer分隔符),以使其绝对位于视图根目录。

<p:ajax ... update=":form:pgid" />

也可以看看:

于 2013-02-06T02:07:48.930 回答