jsp
  • spring-mvc
  • jstl
  • session-variables
  • el
  • 2011-01-19 5 views 8 likes 
    8

    JSP ELを使用してjspページにセッション属性 "userSession"を表示しようとしていますが、null(ケース1)を返します。リクエスト属性はEL式で正しく表示されます。代わりに、Javaのスクリプトレットを使用してSpring MVCを使用するJSP ELのセッション属性に問題があります

    、例2及び3に示すように動作します。

    1. <c:out value="${userSession}"/>ファインワークス\\
    2. <c:out value='<%=request.getSession().getAttribute("userSession")%>'/>
    3. ヌルを返します。\\ - \\セッション属性に
    4. <c:out value='<%=session.getAttribute("userSession")%>'/> を返します例外:変数セッションが見つかりません

    ケース3の例外は、ケース1の問題に似ています。何らかの理由でセッション変数を認識しないなど、EL式に影響するものです。

    私はSpring MVC 2.5とJSTL 1.1.2を使用しています。

    問題を明確にするために必要な情報を投稿することができます。

    答えて

    9

    固定。問題は、私のページで使用されているinclude.jspにある<%@ page session="false" %>ディレクティブであり、そのグローバル・プレースから削除しました。

    jspページがセッションスコープ変数にアクセスできないようにします。したがって、その場合は<%=request.getSession().getAttribute("foo")%>のみが使用されます。

    8

    何:

    <c:out value="${sessionScope.userSession}"/> 
    

    または

    <c:out value="${sessionScope['userSession']}"/> 
    

    与える

    +0

    '':nullの場合 –

    +0

    上記のようにsessionScope変数を試してください。 –

    +0

    それは再びnullを返します... –

    4

    <c:out value="${sessionScope}"/>またはちょうど${sessionScope}は、ポートレットアプリケーションスコープのすべての属性をリストします。

    だから、この式であなたの属性を取得しようとすることができます!

    関連する問題