在JSF 2中 - 尝试重新呈现介于2 ui:重复之间的面板组

时间:2011-10-19 07:59:36

标签: jsf-2

说明我想要做的最好的方法就是举个例子:

<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不存在。

我该如何正确地做到这一点?

谢谢!

1 个答案:

答案 0 :(得分:2)

以下内容应该可以解决这个问题:

<f:ajax render=":#{component.parent.parent.parent.parent.clientId}:layer2" execute="@form" />

它仅适用于MyFaces,而不适用于Mojarra(尚未使用)。它的<ui:repeat>在很多方面被打破了。