2017-09-04 21 views
0

私は自分のプロジェクトにセッションを追加したがって、必要に応じてユーザーがログアウトすると、jspファイルの先頭にあるlogout javascript関数でセッション属性nullを作成しました。しかし、システムにログインしてページを更新すると、セッション自体がnullになります。ここに私の機能があります。session in java application

function logoutFunction() { 
      var txt; 
      if (confirm("Need to Logout!") == true) { 
     <% session.setAttribute("Name",null); %> 
       document.location.href = 'Logout_Con'; 
       location = 'index.jsp'; 
      } else { 
       location = 'welcome_page.jsp'; 
      } 
      document.getElementById("demo").innerHTML = txt; 
     } 

この間違っている?:(

+0

はどのようにあなたのセッション変数を宣言しないJSPの – Stultuske

+1

JavaScriptが_not_ので、あなたが管理するサーバー側のセッションを提供します、サーバー側に影響しますか? 。 – Thomas

+0

この行 '<%session.setAttribute(" Name "、null); %> 'は、Webページがクライアント側でロードされる前に実行されます。だから、JavaScriptはその行を全く見ません。 'JSP'がどのように動作するかを見ると、同じことをする' PHP'について知ることができます。 – AxelH

答えて

2

あなたはJavascript内部のJavaコードを追加することはできません。Javaコードを前に実行されます。

あなたは値が入力された名前のログアウトとログアウトのパラメータを提出する必要がありますY、その後のように、それをチェックするよう:

<% 
boolean logoutSubmitted = "Y".equals(request.getParameter("logout")); 
if (logoutSubmitted == true) { 
    session.setAttribute("Name",null); 
} 
%> 
+0

私の質問にお答えいただきありがとうございます。できます。 :) –