問題はindex.jsp
、header.jsp
header.jsp に動的メニューが含まれている (loggedIn ユーザーと non-loggedIn ユーザーの場合) ユーザーがログインしているか、セッションを使用していないかを確認できることですindex.jsp
。しかし、そうではありませんheader.jsp
この状況でヘッダーを含めるにはどうすればよいですか??
header.jsp
とにかくセッションオブジェクトにアクセスできますか?
に条件文を追加しheader.jsp
ます。(ユーザーがログインしているかどうかのステータスislogged
を表す名前の付いたセッションキーがあると仮定します)
<c:choose>
<c:when test="${not empty islogged}">
//html markup for logged user
</c:when>
<c:otherwise>
//html markup for not logged user
</c:otherwise>
</c:choose>
編集 :
@私はセッションキーを維持していません..しかし、私は..どうすればこれを行うことができますか?
サーブレットを作成し、doPost() メソッドでユーザー名とパスワードを比較し、ユーザーが認証されている場合はセッションのキー値を設定します。
filterでセッションのキー値をチェックすることで、ユーザーを (ログに記録されているかどうか) 確認できます。
ログイン状態をチェックする式をヘッダーファイルに入れることができます。例えば。
<%
if(user.session != null)
{
//includeFile here
%>
<jsp:include file="header.jsp" />
<%
}
%>