好的,我有这样的事情:
<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
和value2
中的函数。
bean.clearData()
是一个从bean中清除value1
和value2
的函数,如果它已经保存在数据库中,则加载它。
这是我的问题...当我输入value1
某个值,然后我将value2
留空时,我会在<rich:messages/>
中打印一些消息。
然后我切换到“Name2”选项卡,然后返回选项卡“Name1”,网页将显示任何<h:inputText/>
的旧值,因为我执行bean.clearData()
值为空我的豆子和他们甚至不在谈话中。
编辑:我的表单会保留数据并且不会清除它,即使它不再存在于bean中。
我能想到的只是浏览器缓存数据,我想避免数据在没有保存在我的数据库中时加载。有没有人知道如何解决这个问题? 我在h:inputText中尝试了autocomplete =“off”但没有结果。
PS:使用FireFox 12.0
答案 0 :(得分:1)
您在reRender="panelId"
内尝试了<a4j:form>
吗?
答案 1 :(得分:0)
在浏览器设置中提供清除历史记录,Cookie,缓存等automatically
我认为它会起作用。