Jsf 如何使用f:ajax更新h:panelGroup

Jsf 如何使用f:ajax更新h:panelGroup,jsf,primefaces,Jsf,Primefaces,如何使用f:ajax更新h:panelGroup。当我选择h:selectBoolean复选框getting value from officeAdd1并将该值设置为headOfficeAdd1时,我将在bean中获取officeAdd1值,但我想将该值更新为headOfficeAdd1 谢谢 <h:form id="form"> <p:panel id="display"> <p:space

如何使用f:ajax更新h:panelGroup。当我选择h:selectBoolean复选框getting value from officeAdd1并将该值设置为headOfficeAdd1时,我将在bean中获取officeAdd1值,但我想将该值更新为headOfficeAdd1

谢谢

      <h:form id="form">
   <p:panel id="display">            
                <p:spacer width="20" />
                <h:panelGrid columns="6">
                    <h:outputLabel value="Address:"
                        style="text-align: left;display: block;width:130px;" />
                    <p:inputTextarea
                        value="#{companyInformationBean.current.officeAdd1}"
                        autoResize="true" style="width:170px;" maxlength="150" />

                </h:panelGrid>

                <h:panelGrid columns="6">
                    <h:selectBooleanCheckbox id="remember"
                        value="#{companyInformationBean.current.checkBox}">
                        <f:ajax event="click" execute="@form"
                            listener="#{companyInformationBean.checkBoxValue}" />
                    </h:selectBooleanCheckbox>
                    <h:outputLabel value="Same as Registered Office Address"
                        style="text-align: left;display: block;" />
                    <p:spacer width="20" />

                </h:panelGrid>
                <p:spacer width="20" />
                <h:panelGroup id="hidepanelgroup">
                <h:panelGrid id="getaddress" columns="6">
                    <h:outputLabel value="Head Office Address:"
                        style="text-align: left;display: block;width:130px;" />
                    <p:inputTextarea id="headadd"
                        value="#{companyInformationBean.current.headOfficeAdd1}"
                        autoResize="true" style="width:170px;" maxlength="150" />

               </h:panelGrid>
               </h:panelGroup>
   </p:panel> 
   </h:form>

您需要指定要在属性中呈现的客户端ID

因此,假设第二个textarea的ID为headadd,则应执行以下操作:

<f:ajax ... render="headadd" />

顺便说一下,尝试使用自文档化属性和方法名称。“记住”属性名称更合适。

您误用了它。输入文本区域值是在{companyInformationBean.current.headOfficeAdd1}中设置的。发送表单时,您不必使用setter方法显式设置它,JSF会这样做。谢谢您,它可以工作。但是,我又问了一个问题,可以呈现多个字段。如果呈现多个字段,则会显示错误,如UI布局初始化错误。是的,您可以在呈现属性中指定客户端ID spaceseparated,如so render=headadd anotherId。更改事件=更改回事件=单击或完全删除它。复选框的默认值为单击。至于整体形态失能的具体问题,目前尚不清楚。你最好用SSCCE风格的代码问一个新问题。我想一次渲染5个字段。但是,当我选择booleancheckbox时,整个表单被禁用。我不知道我犯了什么错误。
<f:ajax ... render="headadd" />
if (current.getCheckBox())