我遇到面部异常 "abc" 无法从动物园引用
i am getting faces exception "abc" cannot be refrenced from zoo
我有这样的场景,在我的面板 id=abc 的下拉列表中选择一个值应该 display.But 我遇到了面部异常 "abc" 无法从动物园引用。
任何关于代码改进的建议....
提前致谢...
<p:selectOneMenu id="zoo" value="#{cc.attrs.bean.test}" style="width:150px" label="#{hello.description}"
converter="testConverter">
<p:ajax event="change" listener="#{cc.attrs.bean.onTest}" update="abc"/>
<f:selectItems value="#{cc.attrs.bean.sooo}" var="soh" itemLabel="#{soh.ex1}" itemValue="#{soh}"/>
</p:selectOneMenu>
<p:accordionPanel style="width:580px;" id="xyz">
<p:tab title="Test for tab"id="hfg">
<p:outputPanel style="width:525px;display:block" id="abc" >
<ui:repeat id="foo" value="#{cc.attrs.bean.animal}" var="yyy">
<h:panelGroup rendered="#{!yyy.aaa}" id="ppp">
<h:outputText value="#{yyy.flower />
<p:selectOneMenu id="wooo" value="#{yyy.house}" label="#{yyy.car}" converter="yyyConverter">
<f:selectItem itemLabel="" itemValue="" />
<f:selectItems value="#{yyy.example}" var="sss" itemLabel="#{sss.p1}:#{sss.dp2}" itemValue="#{sss}"/>
</p:selectOneMenu>
</h:panelGroup>
</ui:repeat>
问题是您正在尝试更新一个元素 (p:outputPanel),该元素嵌入到具有 id 的另一个元素 (p:tab) 中,并且 p:tab 也嵌入在一个带有 id 的 p:accordionPanel。您必须在更新属性中指定所有 parents id,如下所示:
<p:selectOneMenu id="zoo" value="#{cc.attrs.bean.test}" style="width:150px" label="#{hello.description}"
converter="testConverter">
<p:ajax event="change" listener="#{cc.attrs.bean.onTest}" update="xyz:hfg:abc"/>
<f:selectItems value="#{cc.attrs.bean.sooo}" var="soh" itemLabel="#{soh.ex1}" itemValue="#{soh}"/>
</p:selectOneMenu>
<p:accordionPanel style="width:580px;" id="xyz">
<p:tab title="Test for tab" id="hfg">
`enter code here`
<p:outputPanel style="width:525px;display:block" id="abc" >
</p:outputPanel>
</p:tab>
您还应该在标题和 id=hfg 的 p:tab 的 id 之间放置一个 space。
我有这样的场景,在我的面板 id=abc 的下拉列表中选择一个值应该 display.But 我遇到了面部异常 "abc" 无法从动物园引用。 任何关于代码改进的建议.... 提前致谢...
<p:selectOneMenu id="zoo" value="#{cc.attrs.bean.test}" style="width:150px" label="#{hello.description}"
converter="testConverter">
<p:ajax event="change" listener="#{cc.attrs.bean.onTest}" update="abc"/>
<f:selectItems value="#{cc.attrs.bean.sooo}" var="soh" itemLabel="#{soh.ex1}" itemValue="#{soh}"/>
</p:selectOneMenu>
<p:accordionPanel style="width:580px;" id="xyz">
<p:tab title="Test for tab"id="hfg">
<p:outputPanel style="width:525px;display:block" id="abc" >
<ui:repeat id="foo" value="#{cc.attrs.bean.animal}" var="yyy">
<h:panelGroup rendered="#{!yyy.aaa}" id="ppp">
<h:outputText value="#{yyy.flower />
<p:selectOneMenu id="wooo" value="#{yyy.house}" label="#{yyy.car}" converter="yyyConverter">
<f:selectItem itemLabel="" itemValue="" />
<f:selectItems value="#{yyy.example}" var="sss" itemLabel="#{sss.p1}:#{sss.dp2}" itemValue="#{sss}"/>
</p:selectOneMenu>
</h:panelGroup>
</ui:repeat>
问题是您正在尝试更新一个元素 (p:outputPanel),该元素嵌入到具有 id 的另一个元素 (p:tab) 中,并且 p:tab 也嵌入在一个带有 id 的 p:accordionPanel。您必须在更新属性中指定所有 parents id,如下所示:
<p:selectOneMenu id="zoo" value="#{cc.attrs.bean.test}" style="width:150px" label="#{hello.description}"
converter="testConverter">
<p:ajax event="change" listener="#{cc.attrs.bean.onTest}" update="xyz:hfg:abc"/>
<f:selectItems value="#{cc.attrs.bean.sooo}" var="soh" itemLabel="#{soh.ex1}" itemValue="#{soh}"/>
</p:selectOneMenu>
<p:accordionPanel style="width:580px;" id="xyz">
<p:tab title="Test for tab" id="hfg">
`enter code here`
<p:outputPanel style="width:525px;display:block" id="abc" >
</p:outputPanel>
</p:tab>
您还应该在标题和 id=hfg 的 p:tab 的 id 之间放置一个 space。