SOや他の場所でこのトピックに関連する質問がいくつかありますが、この特定の質問に対する決定的な答えは見つかりませんでした。
p:dataTable
行をクリックして詳細ページ(ダイアログやウィンドウではなく、新しいページ)を開く可能性があります。
私はこの方法でそれを解決しました(primefacesのWebサイトから入手しましたが、何らかの理由でもう存在しません:http: //web.archive.org/web/20101001223235/http ://www.primefaces.org/showcase/ ui / datatableRowSelectionInstant.jsf):
<p:dataTable var="order" value="#{orderBean.orders}" selection="#{orderBean.selectedOrder}" selectionMode="single" rowKey="#{order.number}">
<p:ajax event="rowSelect" listener="#{orderBean.orderSelect}"/>
<p:column ... />
</p:dataTable>
次に、ナビゲーションがBeanで実行されます。
public void orderSelect(SelectEvent event) {
ConfigurableNavigationHandler nh = (ConfigurableNavigationHandler)FacesContext.getCurrentInstance().getApplication().getNavigationHandler();
nh.performNavigation("orderDetail?faces-redirect=true");
}
私の質問:バッキングBeanの助けを借りずにJSF内でこれを行う方法はありますか?
また、primefacesサイトからコードの例を削除したので質問しています。これは、これがそのようなことを行う正しい方法ではないことを示している可能性があります。