2
我正在嘗試render
祖父組件。 代碼:ui中的組件ID:重複問題
<h:form prependId="false>
<h:panelGroup id="outer_panel">
<ui:repeat var="curr" value="#{bean.map}">
<h:panelGroup id="inner_panel">
<h:commandButton value="Remove" action="actionThing" >
<f:ajax render="outer_panel" />
</h:commandButton>
</h:panelGroup>
</ui:repeat>
</h:panelGroup>
</h:form>
我得到一個異常:
javax.faces.FacesException: Component with id:outer_panel not found
試圖將索引添加到ID,沒有工作也不:
<h:form prependId="false>
<h:panelGroup id="outer_panel">
<ui:repeat var="curr" value="#{bean.map}" varStatus="loop">
<h:panelGroup id="inner_panel">
<h:commandButton value="Remove" action="actionThing" >
<f:ajax render="#{loop.index+1}:outer_panel" />
</h:commandButton>
</h:panelGroup>
</ui:repeat>
</h:panelGroup>
</h:form>
任何想法,爲什麼ID找不到?
謝謝。
會,'inner_panel'被引用爲':outer_panel:inner:panel'或'inner_panel'?我在問,因爲在實踐中,'out_panel'包含在其他'h:panelGroup'中。另外,在打印'outer_panel'的id(使用'#{component.clientId}')時,我得到'j_id594943238_6609e93f:0:outer_panel'(正如你所假設的那樣,還有其他''組件包含'outer_panel'。也許我應該早些提到這個...... –
Ben
它與''在同一個父命名容器中,所以只需'render =「inner_panel」'應該這樣做。 –
BalusC