2011-10-19 9 views
0

jsファイル、cssファイルなどを含むすべてのページにinclude jspがあります。これはjspが ""とのセッションも参照しています。Struts 2 jspで有効なセッションを確認する方法を教えてください。

私のアプリケーションの最後のページで、アクションはHttpSessionオブジェクトのsession.invalidateを実行します。

自分のアプリケーションの最後の最後のページが表示され、「」を実行したときに、セッションが

2011-10-19 10無効化されるので、だから、私は次のエラーを取得する:30:59134は、COMをWARN。 opensymphony.xwork2.ognl.OgnlValueStack - 値スタックに対して式 '#session.user.isWhatever()'を評価中に例外が発生しました java.lang.IllegalStateException:getAttribute:セッションが既に無効化されています at org.apache.catalina.session.StandardSession .getAttribute(StandardSession.java:1062) at org.apache.catalina.session.StandardSessionFacade.getAttribute(StandardSessionFacade.java:110) at org.apache.struts2.dispatcher.SessionMap.get ognl.MapPropertyAccessor.getPropertyで(SessionMap.java:165) (MapPropertyAccessor.java:76)

私は停止し、 "#sessionのNEQヌル" を試してみましたエラーは表示されても動作しません。

このエラーを停止するために使用するための方法はありますか。セッションがStruts 2のJSPで有効かどうかをチェックするにはどうすればよいですか?

答えて

0

既知のセッション値が存在するかどうかを確認してください。あなたのケースでは、#session.userです。明示的なヌルチェック、IIRC(間違っている可能性があります)を行う必要はありません。あなたのアプリで実際にどのように働いているかによって、isNewもチェックすることができますが、これは必要ではないようです。

セッションは「決して」nullになりません。明示的に指示されない限り、JSPページを押すだけでセッションが作成されます。

関連する問題