2011-08-07 17 views
5

मैं एक पुनरावर्ती वस्तु सेम संरचना, जो मास्टर डीटीओ कीJSF रिकर्सिव समग्र घटक

तरह

सूची है -> मूल्य -> ​​मास्टर डीटीओ की सूची

मैं एक के साथ एक पुनरावर्ती समग्र घटक बनाने के लिए कोशिश कर रहा हूँ इनपुट टेक्स्ट और वैल्यू फ़ील्ड से जुड़े मूल्य वाले बटन। मैं उप-प्रकार बनाने के लिए एक ही घटक को बुला रहा हूं लेकिन यह मुझे स्टैक ओवरफ्लो त्रुटि देता है।

मैंने सूची पैनल खाली होने पर आधारित पैनल में प्रस्तुत विशेषता के साथ प्रयास किया लेकिन यह काम नहीं करता है। मैंने सी में समग्र घटक (समग्र घटक के भीतर से) को कॉल को लपेटने की कोशिश की: यदि यह काम नहीं करता है।

मुझे हमेशा एक स्टैक ओवरफ्लो त्रुटि मिलती है।

रिकर्सिव समग्र घटकों को बनाने के तरीके पर कोई मदद मदद मिलेगी। आपके समय के लिए धन्यवाद!

+1

कुछ कोड दिखाएं। –

उत्तर

7

मैं हमेशा एक StackOverflowError

मिलता तो फिर तुम निश्चित रूप से अब सही साइट पर पहुंच गए;)

मजाक एक तरफ, समग्र घटकों दुर्भाग्य से प्रत्यावर्तन का समर्थन नहीं करते। मेरे काम पर हमने हाल ही में एक ऐसे घटक पर काम किया जिसकी समान आवश्यकताएं थीं, और जिस तरीके से हमने हल किया था, वह कई जावा आधारित घटकों के साथ सीधी रिकर्सन को प्रतिस्थापित करना था जिसे रिकर्सिव संरचना घोषित करने के लिए एक समग्र घटक पर रखा जा सकता है।

मैं वास्तविक कोड के रूप में यह मेरी कंपनी द्वारा की कॉपीराइट की गई नहीं दे सकता है, लेकिन निम्नलिखित यह कैसे इस्तेमाल किया जा सकता का एक उदाहरण है:

<jcf:recursion value="#{foo.someData}" var="item"> 

    <jcf:recursionNode level="0"> 
     <jcf:recursionNodeItem rendered="#{foo.someCondition}"> 
      <!-- Some markup possibly referencing item --> 
       <jcf:insertRecursionNodeChildren /> 
      <!-- Some more markup --> 
     </jcf:recursionNodeItem> 
    </jcf:recursionNode> 

    <jcf:recursionNode> 
     <!-- Some markup --> 
     <jcf:recursionNodeItem rendered="#{foo.someOtherCondition}"> 
      <!-- Some more markup --> 
       <jcf:insertRecursionNodeChildren /> 
      <!-- Some more markup --> 
     </jcf:recursionNodeItem> 
     <!-- Some more markup --> 
    </jcf:recursionNode> 

</jcf:recursion> 

विचार प्रत्यावर्तन के प्रत्येक यात्रा के लिए जो है, कोई स्पष्ट मार्कअप और निर्देश परिभाषित कर सकता है। उदाहरण में दिखाया गया पहला स्तर के लिए निर्देश हैं। यदि कोई स्तर परिभाषित नहीं किया गया है, तो निर्देश रिकर्सन में प्रत्येक स्तर के लिए हैं जिनके पास पहले से ही एक स्पष्ट स्तर परिभाषित नहीं है। Nodes नए स्तर निरूपित करते हैं, जबकि NodeItems किसी दिए गए स्तर पर सभी वस्तुओं को दर्शाते हैं।

माता पिता जावा आधारित घटक तो प्रतिपादन के लिए अपने बच्चों को जावा कोड और प्रतिनिधियों में वास्तविक प्रत्यावर्तन शुरू होता है।

उम्मीद है कि यह आप के लिए जा रहा प्राप्त कर सकते हैं।

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