【发布时间】:2012-05-25 02:59:23
【问题描述】:
好的,我有这样的事情:
<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 的函数,或者如果它已经保存在 DB 中,则加载它。
这是我的问题...当我输入value1 某个值,然后将value2 留空时,我会在<rich:messages/> 中打印一些消息。
然后我切换到选项卡“Name2”,然后返回选项卡“Name1”,网页将显示任何<h:inputText/> 的旧值,因为我执行了bean.clearData(),这些值在我的 bean 和他们甚至不在谈话中。
编辑:我的表单保留数据并且不清除它,即使它不再在 bean 中。
我能想到的只是浏览器缓存数据,我想避免在数据未保存在我的数据库中时加载数据。有谁知道如何解决这个问题? 我在 h:inputText 中尝试了 autocomplete="off" 但没有结果。
PS:使用 FireFox 12.0
【问题讨论】:
-
您的“这是我的问题..”段落中的问题描述不清楚。请改写它。表单是否保留了值而不是清除它?
-
@AhamedMustafaM 我编辑了它,但你搞定了,这是我的问题。