2013-08-02 9 views
5

मैं सर्वलेट में सत्र चर सेट कर रहा हूं और जावास्क्रिप्ट में उस चर को एक्सेस करना चाहता हूं।जावास्क्रिप्ट में सत्र चर पढ़ें?

ps = con.prepareStatement("select * from USERDETAILS where username=? and password=?"); 
ps.setString(1, username); 
session.setAttribute("userName", username); 

मैंने जावास्क्रिप्ट फ़ंक्शन में इन्हें आजमाया। लेकिन यह काम नहीं कर रहा था ...

var name = ${userName}; 
var name = '<%= Session["userName"] %>'; 
+0

[जावास्क्रिप्ट में सत्र चर तक पहुँचने jsp अंदर] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/7241442/accessing-session-variables-in-javascript-inside- जेएसपी) –

+0

बीटीडब्ल्यू आप जिस सर्वर साइड भाषा का उपयोग कर रहे हैं वह क्या है? – gnanz

उत्तर

6

लगता है आप getAttribute() उपयोग करने के लिए सक्षम होना चाहिए:

var name = '<%= session.getAttribute("userName") %>'; 

हालांकि, इस जावा फ़ाइल के माध्यम से चल बदलने के लिए पर निर्भर करता है एम्बेडेड <%= ... %>, जो शायद अलग .js फ़ाइलों में मामला नहीं होगा।

+0

मैं एक seprate .js फ़ाइल का उपयोग कर रहा हूं और whe मैं 'var name = '<% = session.getAttribute (" userName ")%>'; ';' मैंने var नाम के मान की जांच की है और यह' <% = सत्र था .getAttribute ("userName")%> इसके मूल्य के बजाय! गलत क्या है ? – Poorya

+0

@Pouria प्रश्न वास्तव में टिप्पणियों में पोस्ट नहीं किया जाना चाहिए। http: // stackoverflow।कॉम/प्रश्न/पूछें और इस क्यू एंड ए से लिंक करें यदि आप इसका संदर्भ देना चाहते हैं। लेकिन, संक्षेप में, जेएसपी किसी भी विकल्प को करने के लिए फ़ाइल को पार्स नहीं कर रहा है। इसे किसी भी छवि की तरह स्थिर के रूप में माना जा रहा है, और ब्राउज़र के रूप में भेजा गया है। –

+0

सिर के लिए धन्यवाद! क्या आप [यह] जांचना चाहते हैं (http://stackoverflow.com/questions/19887753/how-to-add-hidden-attribute-to-dom-using-servlet) – Poorya

1

जब तक आपका सत्र पूरी तरह से कुकी में संग्रहीत नहीं होता है, तो आप जावास्क्रिप्ट में सत्र चर नहीं पढ़ सकते हैं। पेज पीढ़ी के दौरान आपको चरणीय सामग्री को एक जावास्क्रिप्ट चर में संग्रहीत करना चाहिए, या बाद में इसे लाने के लिए AJAX का उपयोग करना चाहिए।

2

सत्र तक पहुँचने के लिए इस कोड उपयोग करके देखें:

var myName= '<%= Session["myName"]%>'; 
+0

हालांकि बहुत पुराना है, यह वही है जो मैं ढूंढ रहा था, मैं यहां आने से 2 घंटे पहले बर्बाद हो गया। आपका बहुत बहुत धन्यवाद। –

0

क्या आपने डीबगर (जावास्क्रिप्ट डीबगर) में क्या नाम डाला था?
क्या आपने कुछ HTML को नाम असाइन करने का प्रयास किया है, यह सुनिश्चित करने के लिए कि डेटा सही तरीके से असाइन किया गया हो?
क्या आपने उद्धरण हटाने की कोशिश की?
भी आपका कोड मुख्य पृष्ठ पर होना चाहिए, ताकि सर्वर इंजन इसके माध्यम से जा सके और वास्तविक मूल्य पर सत्र ("userName") का प्रतिस्थापन कर सके।

0
जो लोग मैं एक ही मुद्दा था, लेकिन यह पता चला कि मैं कोड में एक गलत जगह पर स्क्रिप्ट रखा <% बनाम

var name = '<%= session.getAttribute("username") %>'; 

तरह पात्रों के बारे में नीचे दिए गए कोड के साथ कोई त्रुटि मिलती है के लिए

तो आप बेहतर जांचते हैं कि आपने कोड कहां रखा है।

आशा इस मदद करता है

0

इस कोशिश -> {sessionScope.username}

डिफ़ॉल्ट पृष्ठ, अनुरोध, सत्र और आवेदन वस्तुओं JSP पृष्ठों के लिए उपलब्ध हैं के द्वारा। तो आप ईएल वाक्यविन्यास का उपयोग कर तब तक पहुंच सकते हैं।

और निम्न तालिका ईएल के लिए लागू वस्तुओं को दिखाती है।

 Implicit object   Description 
1.  pageScope  Scoped variables from page scope 
2.  requestScope  Scoped variables from request scope 
3.  sessionScope  Scoped variables from session scope 
4.  applicationScope Scoped variables from application scope 
5.  param   Request parameters as strings 
6.  paramValues  Request parameters as collections of strings 
7.  header   HTTP request headers as strings 
8.  headerValues  HTTP request headers as collections of strings 
9.  initParam  Context-initialization parameters 
10. cookie   Cookie values 
11. pageContext  The JSP PageContext object for the current page 

संदर्भ: Are session and sessionScope the same in JSP EL?

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