【发布时间】:2011-10-10 02:36:47
【问题描述】:
我有一个两个标签页,一个标签是记录列表,点击记录会切换到编辑标签,编辑标签中有保存和取消按钮。
现在,我单击记录#1,进行一些编辑,然后单击取消按钮。当然我不想验证表单,因为它被取消了,所以我在取消按钮上设置了immediate="true"。现在编辑选项卡关闭,返回记录列表。然后,我点击另一条记录#2,出现问题:在编辑选项卡中,它仍然是记录#1的先前内容,而不是记录#2。我已经在调试视图中检查了变量,编辑表单的后台 bean 实际填充了记录 #2。
即,在立即发出命令后出现问题。
(在我添加验证和 immediate="true" 之前一切都很好。)
class FormBean {
Record activeRecord;
...
public void clickOnList() {
activeRecord = loadRecord(clickIndex);
}
public void cancelForm() {
activeRecord = null;
}
}
page.xhtml:
<h:form id="main">
...
<p:tab title="Edit" rendered="#{formBean.activeRecord != null}">
...
<p:commandButton value="Cancel"
actionListener="#{formBean.cancelForm}"
update="main" async="true" immediate="true" />
</p:tab>
</h:form>
【问题讨论】:
标签: jsf-2