我需要在jsf中更新另一个表单中的一个表单内容。如果我给另一个表单id,它将显示错误,例如找不到组件ID。
我的编码是
<h:form id="form1" name="form1">
<h:commandLink value="Tab1" id="Tab1">
<f:ajax listener="#{managedBean.tabChange}" event="click" render="form2"></f:ajax>
</h:commandLink></li>
</h:form>
<h:form id="form2" name="form2">
<h:outputText value="#{managedBean.text}" id="text"/>
</h:form>
在渲染属性
中@all为我工作。 但是form2 / text不起作用。
请帮助我。
提前致谢。
答案 0 :(得分:10)
客户端ID与其命名容器相关,因此JSF仅在form2
内查找名为form1
的组件。如果要从此容器中转义,则需要在id前面添加冒号。
所以以下内容应该有效:
<f:ajax listener="#{managedBean.tabChange}" event="click" render=":form2"/>