2011-06-01 14 views
2

私は、現在選択されているユーザーをセッションBeanから読み込む「ユーザーの表示」ページを持つJSF2プロジェクトを持っています。 userHandler.selectedUser。jsfナビゲーションの質問

このページは、アプリ内のリンクをナビゲートして閲覧することを目的としています。しかし

、何がありますので、ユーザーは...彼らはその上にデータがないとページを参照してください(...このURLを直接

http://localhost:8080/webapp/userView.jsf

を「ビューユーザー」ページをヒットしようとしていない場合userHandlerで選択されたユーザー)。

私がしたいと思うのは、直接そのようなヒットしようとすると、ユーザーをアプリのメインページにリダイレクトすることです。この問題を処理するシンプルでエレガントな方法は何ですか?

おかげで、あなたはpreRenderViewイベントにフックして、このようなケースの場合にリダイレクトを送りたい ロブ

答えて

4

public void preRenderView() throws IOException { 
    if (userHandler.getSelectedUser() == null) { 
     FacesContext.getCurrentInstance().getExternalContext().redirect("home.jsf"); 
    } 
} 

<f:metadata> 
    <f:event type="preRenderView" listener="#{bean.preRenderView}" /> 
</f:metadata> 

関連する問題