ナビゲートするために ajax と組み合わせた selectonemenu を使用しています。
JSF コード
<p:selectOneMenu value="#{navigator.outcome}">
<f:selectItem itemLabel="Select page..." />
<f:selectItem itemValue="page1" itemLabel="Page 1" />
<f:selectItem itemValue="page2" itemLabel="Page 2" />
<f:selectItem itemValue="page3" itemLabel="Page 3" />
<p:ajax event="change" listener="#{navigator.navigate}" />
</p:selectOneMenu>
マネージドBean:
public void navigate() {
FacesContext context = FacesContext.getCurrentInstance();
NavigationHandler navigationHandler = context.getApplication()
.getNavigationHandler();
navigationHandler.handleNavigation(context, null, outcome
+ "?faces-redirect=true");
}
ページを長時間 (おそらく数時間) 開いたままにしておくと、ajax ナビゲーションが機能しなくなったように見えるという問題があります。ある種のタイムアウトはありますか?