2009-05-29 9 views
7

क्या स्ट्रेट्स 2 एक्शन क्लास के लिए प्रदान की गई कोई भी विधि है जिसे उस एक्शन क्लास की हर विधि से पहले बुलाया जा सकता है?क्या स्ट्रेट्स 2 एक्शन क्लास के लिए दी गई कोई भी विधि है?

उदाहरण के लिए, मैं struts 2 के लिए एक कार्य वर्ग नीचे

import com.opensymphony.xwork2.ActionSupport; 

public class EmployeeAction extends ActionSupport{ 

    private DepartmentDaoService deptService = new DepartmentDaoService() ; 
    private EmployeeDaoService empService = new EmployeeDaoService(); 
    private Employee employee; 
    private List<Employee> employees; 
    private List<Department> departments; 

     public void init() 
     { 
      //Do initialization stuff here 
     } 
     public String getAllEmployees(){ 
      employees = empService.getAllEmployees(); 
      return "success"; 
     } 

     public String deleteEmployee(){ 
     empService.deleteEmployee(employee.getEmployeeId()); 
     return "success"; 
     } 
} 

उपरोक्त कोड में अब दिए गए जब getAllEmployees के लिए struts कार्रवाई() और deleteEmplyee() मैं init() विधि पर अमल करना चाहते हैं कहा जाता है प्रथम। हम इसे दोनों कार्यों से बुलाकर चला सकते हैं।

लेकिन क्या स्ट्रैट्स 2 में दिया गया कोई प्रावधान है जो प्रत्येक कॉल या स्ट्रैट्स 2 पर स्वचालित रूप से इनिट विधि चलाएगा, एक्शन क्लॉज के लिए ऐसी कोई विधि प्रदान करता है?

कृपया मुझे बताएं कि क्या कोई जानता है।

धन्यवाद।

उत्तर

6

हाँ है:

सबसे पहले, अपनी कार्रवाई वर्ग Preparable इंटरफ़ेस को लागू करना होगा। फिर, आपकी कार्रवाई को Prepable.prepare() विधि को कार्यान्वित करना होगा। स्ट्रूट 2 आपकी क्रिया विधि को आमंत्रित करने से पहले हर बार तैयार() निष्पादित करेगा।

चीयर्स।

1

पर एक नजर डालें। यदि आपकी कार्रवाई डिफ़ॉल्ट इंटरसेप्टर स्टैक का उपयोग कर रही है तो बस init() विधि prepare() पर विधि का नाम बदलें।

आप prepare<*ActionMethodName*>() नामित विधि के साथ ठोस विधि (जैसे prepareDeleteEmployee()) के लिए विशिष्ट तैयारी कर सकते हैं अपनी कार्रवाई वर्ग एकाधिक कार्रवाई विधियों (createEmployee की तरह() या deleteEmployee()) है।

+0

धन्यवाद rdk। यह बहुत उपयोगी जानकारी है। – amar4kintu

0

हाँ

init() 

के बाद एक इंटरसेप्टर बनाई गई है कहा जाता है, लेकिन किसी भी अनुरोध अवरोधन का उपयोग करके संसाधित, इंटरसेप्टर कोई भी आवश्यक संसाधनों को प्रारंभ करने का मौका दे रहे हैं पहले।

See this

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