わかりました、私はこのようなものを持っています:
<a4j:form ignoreDupResponses="true">
<rich:tabPanel switchType="ajax" immediate="true" id="panelId">
<rich:tab label="Name" name="NAME" action="#{bean.clearData()}">
<h:inputText value="#{bean.value1}" required="true"/>
<h:inputText value="#{bean.value2}" required="true"/>
<rich:messages/>
<a4j:commandButton action="#{bean.someAction()}" value="OK"
reRender="panelId" />
</rich:tab>
<rich:tab label="Name2" name="NAME2">
<!-- Some content -->
</rich:tab>
</rich:tabPanel>
</a4j:form>
bean.someAction()
value1
私のDBとを保存する関数ですvalue2
。
Beanによってクリアおよびbean.clearData()
クリアする関数、またはすでにDBに保存されている場合はロードする関数です。value1
value2
これが私の問題です...value1
値を入力してvalue2
空白のままにすると、いくつかのメッセージがで出力され<rich:messages/>
ます。
次に、[Name2]タブに切り替え、その後[Name1]タブに戻ると、Beanで値が空であり、Beanでも値がないため、Webページに古い値が表示<h:inputText/>
されます。bean.clearData()
会話。
編集:私のフォームはデータを保持し、それがもうBean内にない場合でも、データをクリアしません。
私が考えることができるのは、データをブラウザがキャッシュすることだけです。データがDBに保存されていないときに、データが読み込まれるのを避けたいと思います。誰かがこれを修正する方法のアイデアを持っていますか?h:inputTextでautocomplete = "off"を試しましたが、結果がありません。
PS:FireFox12.0を使用