2012-06-19 14 views
5

क्या यह स्ट्रूट 2 में सत्र में मूल्य संग्रहीत करने का सही तरीका है? struts 2.x मेंस्ट्रूट्स में सत्र 2

Map<String, Object> session = ActionContext.getContext().getSession(); 
session.put("user", "USERNAME"); 
+6

आप ऐसा कर सकते हैं, लेकिन पसंदीदा तरीका तरीका सत्रवेयर इंटरफ़ेस को कार्यान्वित करके है। [यहां] पढ़ें (http://struts.apache.org/2.0.6/docs/how-do-we-get-access-to-the-session.html) और [यहां] (http: // splinter। अधिक जानकारी के लिए com.au/how-to-use- सत्र-with-struts-2)। – Jasonw

+0

बहुत उपयोगी लिंक, धन्यवाद। –

+1

कार्रवाई से सत्र ऑब्जेक्ट प्राप्त करना कॉन्टेक्स्ट एक समस्या नहीं है क्योंकि यह थैडलोकल पर लागू किया गया है हालांकि यह एक अच्छा अभ्यास नहीं है। –

उत्तर

1

SessionAware इंटरफेस, हमारे कार्रवाई वर्ग ताकि हमारे कार्रवाई वर्ग में HTTP सत्र व्यवहार प्राप्त करने के लिए SessionAware इंटरफ़ेस को लागू करने की जरूरत है।

यदि हम सत्रवेयर इंटरफ़ेस से कार्यान्वित करते हैं तो हमें हमारी एक्शन क्लास में सत्रवेयर द्वारा विधि सेट सत्र() को ओवरराइड करने की आवश्यकता है। यदि हम सत्र एवेयर इंटरफ़ेस से हमारी एक्शन क्लास को कार्यान्वित करते हैं तो स्ट्रैट्स 2 कंट्रोलर बिल्कुल सत्र ऑब्जेक्ट इंजेक्ट नहीं करता है, लेकिन यह समान व्यवहार वाले मानचित्र ऑब्जेक्ट को इंजेक्ट करेगा।

Map m; 
public void setSession(Map m) 
    { 
     this.m=m; 
    } 

public String execute() 
    { 
     m.put("user", "USERNAME"); 


     return SUCCESS; 
    } 

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

  • कोई संबंधित समस्या नहीं^_^