2011-06-08 5 views
1

Strutsでページを転送またはリダイレクトする方法を教えてもらえますか? セッションがすべてのjspでNULLかどうかを確認していて、nullの場合はリダイレクトします。私は単純なjsp:forwardまたはresponse.sendRedirect()でこれを行うことができますが、私はstruts.xmlで宣言したstruts2アクションにリダイレクトしたいと思います。私は上記のタグとメソッドにアクション名を入れようとしましたが、動作しませんでした。Struts2ページのリダイレクト/フォワードの問題

if(session.getAttribute("user")!=null) 
    response.sendRedirect("loginAction"); 

私は私のweb.xmlの*の.jsp URLパターンにセキュリティ制約を追加しているので、this.Iが直接.jspファイルに呼び出すことはできません行うにはとにかくがあります。だから私はこれをやりたい、またはアクションを使ってリダイレクトしたい。どんな助け?

答えて

3

このチェックはFilterまたはInterceptorで行うのが最善です。同様の質問へのThis answerは助けになるかもしれません。

+0

またはこれ1つhttp://www.vitarara.org/cms/struts_2_cookbook/creating_a_login_interceptor – leonbloy

+0

ありがとうStevenとleonbloy。私は、インターセプターを使用することに決めました。 – user759740

0

まず、おそらくあなたは、あなただけのappropiate resultを使用し、Struts2のアクションにStruts2の中にリダイレクトを行うには、インターセプタ(eg

セカンドで使用許可(ログイン)をチェックすることを好むだろう。必要がない場合は、低レベルのオブジェクト(サーブレット関連)にアクセスすることは悪い習慣です。

第3の約I can't call to a .jsp directly:jsp urlにリダイレクトすることはできません(jspにはブラウザからはアクセスできません)。しかし、ディスパッチすることができます。つまり、login.jspをあなたの行動。これは簡単ですが、ユーザーが認証を求めているときにブラウザの「... login.do」URLをブラウザに表示させたい場合は、これは簡単です。

関連する問題