0

SQL テーブルを検索する Bean を作成しました。この Bean は、rich:dateTable に表示される配列リストを生成します。このテーブルの各行には、テーブル内のどのレコードを表示するかを指定する別のページへのリンクである列があります。

<h:link id="profile_last_name" value="#{record.string}" outcome="#{search.action()}">
     <f:param name="user_id" value="#{record.getInteger('user_id')}"/>
</h:link>

検索 Bean には、次のような URL を作成する「staffEditUser」などのナビゲーション結果が渡されます。

http://localhost:8080/staff/edit/user.xhtml?user_id=98

検索結果に 1 行しかない場合にすぐに編集ページに移動するように、検索 Bean を変更したいと考えています。リダイレクト先のページ名がわかっている場合、リダイレクトの方法は知っていますが、わかりません。検索 Bean 内でわかっていることは、ナビゲーションの結果だけです。Bean 内からナビゲーション ルールにアクセスする方法はありますか?

あるいは、これは私には非常に不器用に思えますが、jsf ナビゲーションによって処理される xhtml ファイルのリダイレクトにパラメーターを追加するだけでよいでしょうか? もしそうなら、どのように?

助けてくれてありがとう。

4

1 に答える 1

0

You can redirect the JSF page from within your managed bean method with

FacesContext.getCurrentInstance().getExternalContext().redirect("url");

As I understand you. You should check inside your ManagedBean database read method if the returned results have the size of none and then redirect to the edit page of this record.

于 2013-10-15T06:50:12.133 に答える