这是jsf页面的一般结构:
<ui:repeat id="repeater" varStatus="stat" >
<h:form id="the-form">
<h:panelGroup id="renderme">
<ui:repeat id="inner-repeater">
<h:commandButton>
<f:ajax render=":repeater:#{stat.index}:the-form:renderme">
</h:commandButton>
</ui:repeat>
</h:panelGroup>
</h:form>
</ui:repeat>
所以..这里的按钮,当点击时,应该会导致元素renderme
被重新渲染。
在实践中,虽然当我查看 html 页面时,生成的 id 是正确的,但我得到“带有 id ... 的组件”。
此外,我尝试使用#{component.parent.parent.clientId}
产生相同 id 并且仍然从 JSF 得到相同的错误消息。
知道为什么这会失败吗?
谢谢!