说明我想要做的最好的方法就是举个例子:
<h:form prependid="false" >
<h:panelGroup id="layer1">
<ui:repeat>
<h:panelGroup id="layer2>
<ui:repeat>
<h:panelGroup id="layer3">
<h:commandButton>
<f:ajax render="layer2" execute="@form" />
</h:commandButton>
</h:panelGroup>
</ui:repeat>
</h:panelGroup>
</ui:repeat>
</h:panelGroup>
</h:form>
当按下上面示例中的h:commandButton
时,我从JSF获得一个例外,即ID layer2
不存在。
我该如何正确地做到这一点?
谢谢!
答案 0 :(得分:2)
以下内容应该可以解决这个问题:
<f:ajax render=":#{component.parent.parent.parent.parent.clientId}:layer2" execute="@form" />
它仅适用于MyFaces,而不适用于Mojarra(尚未使用)。它的<ui:repeat>
在很多方面被打破了。