2011-01-19 15 views
8

का उपयोग कर जेएसपी ईएल में सत्र विशेषताओं के साथ समस्या मैं जेएसपी ईएल का उपयोग कर एक जेएसपी पेज में "उपयोगकर्ता सत्र" सत्र सत्र दिखाने की कोशिश कर रहा हूं, लेकिन यह शून्य (केस 1) देता है। अनुरोध विशेषताएँ ईएल अभिव्यक्तियों में ठीक से दिखाए जाते हैं।स्प्रिंग एमवीसी

बजाय जावा स्क्रिप्टलेट का उपयोग करना, के रूप में मामलों 2 और 3 में दिखाया गया बर्ताव करता है:

  1. <c:out value="${userSession}"/> \\ रिटर्न अशक्त
  2. <c:out value='<%=request.getSession().getAttribute("userSession")%>'/> \\ ठीक काम करता है - सत्र विशेषता रिटर्न
  3. <c:out value='<%=session.getAttribute("userSession")%>'/> \\ फेंकता अपवाद: परिवर्तनीय सत्र नहीं मिला

मामले 3 का अपवाद संबंधित हो सकता है किसी समस्या के लिए सत्र चर को पहचानने की तरह कुछ ऐसा नहीं है और फिर ईएल अभिव्यक्ति को प्रभावित करता है।

मैं स्प्रिंग एमवीसी 2.5 और जेएसटीएल 1.1.2 का उपयोग कर रहा हूं।

मैं समस्या को स्पष्ट करने के लिए आवश्यक कुछ भी पोस्ट कर सकता हूं।

उत्तर

9

फिक्स्ड। समस्या मेरे पृष्ठ द्वारा उपयोग किए गए include.jsp में पाए गए <%@ page session="false" %> निर्देश के साथ थी, जिसे मैंने उस वैश्विक स्थान से हटा दिया था।

यह एक जेएसपी पृष्ठ को सत्र स्कोप चरों तक पहुंच से रोकता है। तो केवल <%=request.getSession().getAttribute("foo")%> उस मामले में काम करता है ...

8

क्या करता है:

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

या

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

दे सकता है?

+0

'': null –

+0

जैसा ऊपर बताया गया है सत्र सत्र स्कोप चर का प्रयास करें। –

+0

यह फिर से शून्य देता है ... –

4

<c:out value="${sessionScope}"/> या सिर्फ ${sessionScope} पोर्टलेट एप्लिकेशन स्कोप में सभी विशेषताओं को सूचीबद्ध करता है।

तो, आप इस अभिव्यक्ति के साथ अपना श्रेय प्राप्त करने का प्रयास कर सकते हैं!

संबंधित मुद्दे