2013-03-11 59 views
2

我需要从jsf中的另一个表单更新一个表单内容。如果我给出另一个表单id,它将显示一个错误,如组件id未找到。从jsf中的另一个表单更新一个表单内容

我的编码是

<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不起作用。

请帮帮我。

在此先感谢。

回答

10

客户端ID与它们的命名容器有关,所以JSF只在form1内查找名称为form2的组件。如果你想逃离这个容器,你需要在冒号前加上你的id。

所以下面应该工作:

<f:ajax listener="#{managedBean.tabChange}" event="click" render=":form2"/> 
+0

感谢您Response.It对我的作品.. – 2013-03-11 10:19:21