SOとelsewhereに関するこのトピックに関するいくつかの関連する質問がありますが、この特定の質問について決定的な回答は見つかりませんでした。dataTable行を選択すると新しいページを開く(新しいサイトに移動する)
私にはp:dataTable
があります。行をクリックして詳細ページ(新しいページで、ダイアログやウィンドウではない)を開く可能性があります。
私は(:http://web.archive.org/web/20101001223235/http://www.primefaces.org/showcase/ui/datatableRowSelectionInstant.jsf何らかの理由で、それはもはや存在しない、私はprimefacesのWebサイトから持っている):このようにそれを解決した
:ナビゲーションは、その後、豆に実行され<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>
を
public void orderSelect(SelectEvent event) {
ConfigurableNavigationHandler nh = (ConfigurableNavigationHandler)FacesContext.getCurrentInstance().getApplication().getNavigationHandler();
nh.performNavigation("orderDetail?faces-redirect=true");
}
私の質問:バッキングビーンの助けを借りずにJSF内でこれを行う方法はありますか?
私はまた、primefacesサイトからexrameleというコードを削除したため、このようなことを行う正しい方法ではない可能性があります。
true - 実際はそれほどコードではありません。私は '
ええ、しかし、AJAXのリクエストは実際には現在のページから移動するためのものではありません。コマンドコントロール(コマンドボタン、コマンドリンク、リモートコマンドなど)からのアクションメソッドのみがナビゲーション機能を実行します。このリンクを参照してください:http://stackoverflow.com/questions/5406855/jsf-navigation-with-ajax – maggu
あなたはそうです。私はajaxを使用せずにいくつかの解決策を探しているように見えますが、 'p:datatable'を使用しているときにはうまくいかないでしょう。 –