0

フレームに入っていないログインページを使用していますが、ログインするとすべてのページがフレームセットになり、ログアウトしようとすると、(the logout link is there in the frame)その特定のフレームのみが再ロードされ、ログインページがそのフレームに表示されます。しかし、ページが表示されるべきではない場所にログインページを表示したいのですが。

このようにセッション値を削除しますが、ページを更新すると、フレーム内にあるページにすべての値が表示されます。

public void sessionRemove(HttpServletRequest request,HttpServletResponse response){
        request.getSession(true).removeAttribute("userDetails");

        /**
         * Remove the Session Object.
         */
        Enumeration enumSessionObj = request.getSession(false).getAttributeNames();
        while(enumSessionObj.hasMoreElements()){
            String enumObj = enumSessionObj.nextElement().toString();
            request.getSession(false).removeAttribute(enumObj);
        }

        /**
         * Remove the Cookies.
         */
        Cookie[] cookies = request.getCookies();
        for (int i = 0; i < cookies.length; i++) {
            Cookie delCookie = cookies[i];
            delCookie.setMaxAge(0);
        }
    }

これを行う方法 、

助けてください

4

1 に答える 1

1

試してみませんか?:

    request.getSession().invalidate();

それらのフレームの 1 つに時間を印刷していただけますか。あなたの問題はキャッシュに関連している可能性があると思います。

セッションが無効になっている場合、さまざまなことができます。元。ユーザーを別のページに転送します。または、このように JavaScript でフレームを更新します。

            window.parent.MY_FRAME_NAME.location.reload();

幸運を;

于 2012-10-19T07:07:03.183 に答える