【发布时间】:2013-05-18 13:28:39
【问题描述】:
我有两个布尔值来控制某些组件的渲染,问题是变量在那里保存最后一个状态,直到会话到期,我
<f:facet name="footer">
<p:commandButton action="#{personBean.report}" ajax="false" value="Publish"
rendered="#{personBean.reportMode}" icon="ui-icon-check" />
<p:commandButton action="#{personBean.saveEditing}" ajax="false" value="Save"
rendered="#{personBean.editMode}" icon="ui-icon-check" />
</f:facet>
bean 是会话范围的,并具有以下属性:
@ManagedBean(name = "personBean")
@SessionScoped
public class ReportPerson {
private boolean editMode;
private boolean reportMode;
}
bean 包含这些更改布尔值的方法:
public String editPerson() {
System.err.println("Edit Missing Person");
editMode = true;
reportMode = false;
return "ReportNewPerson";
}
问题是这些值会一直保留到会话过期,因此组件呈现不正确
【问题讨论】:
标签: jsf jsf-2 managed-bean