2011-09-26 18 views
8

निम्नलिखित उदाहरण: मेरे पास स्ट्रैट्स एक्शन के लिए सुपरक्लास और सबक्लास है। सुपरक्लास @Results को परिभाषित करता है, और उप-वर्ग को अतिरिक्त विशिष्ट @Result प्रविष्टियों को परिभाषित करने की आवश्यकता है। उदाहरण के लिए:क्या स्ट्रूट्स 2 परिणाम एनोटेशन ओवरराइड या सुपरक्लास निर्धारित मानों में जोड़ें?

@Results({ 
    @Result(name=BaseAction.ERROR, location="/WEB-INF/jsp/error.jsp") 
}) 
public abstract class BaseAction extends ActionSupport implements ServletRequestAware { 
    ... 
} 

..और एक उपवर्ग

@Results({ 
    @Result(name=BaseAction.INDEX, location="/WEB-INF/jsp/reporting/index.jsp") 
}) 
public class ReportAction extends BaseAction { 
    ... 
} 

मेरा प्रश्न है, केवलINDEX की @Result परिभाषित किया गया है ReportAction का एक उदाहरण है, या यह भी किसी भी @Result प्रविष्टियों परिभाषित में क्या है किसी भी अगर यह superclasses है। क्या मेरा ReportActionBaseAction.ERROR के लिए स्थान सेट के बारे में पता है ??

धन्यवाद, मार्टिन

+2

हाँ, आपने सही काम किया है। 'ReportAction' में' ERROR' और 'INDEX' दोनों परिणाम होंगे। आप ** [यह जवाब] देख सकते हैं (http://stackoverflow.com/questions/6765810/struts2-convention-plugin-results-using-inheritance/6770638#6770638) **। और आप ** [कॉन्फ़िगर ब्राउज़र प्लगइन] (http://struts.apache.org/2.2.3.1/docs/config-browser-plugin.html) ** द्वारा 'परिणाम मैपिंग' की जांच क्यों नहीं करते हैं। – lschin

उत्तर

1

हां, आपकी रिपोर्टएक्शन क्लास में बेसएक्शन.इंडेक्स और बेसएक्शन.ईआरआरओआर दोनों होंगे।

सामान्य सुपर क्लास या उप-वर्ग नियम इस मामले में भी लागू होगा। अगर आपको अपने उप-वर्ग में कुछ नहीं मिलता है तो यह सुपर क्लास में जाएगा और देखेंगे।

आपके मामले में BaseAction.ERROR आपके उप-वर्ग में नहीं मिला है, यह सुपरक्लास में जाएगा और देखेंगे।

0

यह दोनों होगा। आप कॉन्फ़िगर ब्राउज़र ब्राउज़र प्लगइन के साथ सत्यापित कर सकते हैं।

0

यह बेसएक्शन.इंडेक्स और बेसएक्शन.ईआरआरओआर दोनों की पहचान करने में सक्षम होगा।

यदि परिणाम सबक्लास (आपके मामले रिपोर्टएक्शन क्लास में) में उपलब्ध है तो यह उसका पालन करेगा, अन्यथा यह सुपरक्लास (आपके मामले में बेसएक्शन क्लास) में दिखेगा।

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

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