一部のコンポーネントのレンダリングを制御する2つのブール値があります。問題は、変数がセッションの有効期限が切れるまで最後の状態を保存することです.
<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";
}
問題は、これらの値がセッションの有効期限が切れるまで残り、その結果、コンポーネントが正しくレンダリングされないことです。