私のコードは次のようになります。
<h:panelGroup id="panelA" >
<h:panelGroup id="panelB" rendered="#{!bean.editEnabled}">
<h:outputText value="#{bean.valueA}" styleClass="readOnlyBox wide hasButton" />
<a4j:commandLink title="edit" action="#{bean.setEditingModeToTrue}"
styleClass="icon edit" render="panelA">
</a4j:commandLink>
</h:panelGroup>
<h:panelGroup id="panelC" rendered="#{bean.editEnabled}">
<h:inputText value="#{bean.valueA}" styleClass="input wide" validatorMessage="Error">
<f:validateLength maximum="80"/>
<f:validateRegex pattern=".*\\<[^>]+>.*"/>
</h:inputText>
<a4j:commandLink title="save" action="#{bean.doValueSave}"
styleClass="icon save" render="panelA">
</a4j:commandLink>
</h:panelGroup>
</h:panelGroup>
リンクの保存をクリックすると問題が発生します。次に、リンクされたメソッドは呼び出されません。Beanにはビュースコープがあり、編集ボタン(フィールドを編集可能にするために必要)をクリックするとビューステートが失われるため、保存ボタンをクリックしても何も起こらないと思います。私は正しいですか?この問題の回避策はありますか? Bean にはビュー スコープが必要です... :/