2010-01-18 13 views
14

में गतिशील मार्कअप क्या MarkupContainer गतिशील रूप से मार्कअप उत्पन्न करना संभव है, यानी इसके लिए एक HTML फ़ाइल संग्रहीत किए बिना?विकेट

मैंने सीएमएस जैसी कार्यक्षमता प्रदान करने के लिए डेटाबेस से एक सादे स्ट्रिंग के रूप में मार्कअप पढ़ने के बारे में सोचा था।

+0

बढ़िया! मैं इसे जेटीएक्सी लाइटवेट मार्कअप भाषा (http://code.google.com/p/jtexy/) के साथ उपयोग करने जा रहा हूं। –

उत्तर

9

दिलचस्प सवाल है और मुझे यकीन नहीं है कि यह संभव है, लेकिन मेरा अनुमान IMarkupLoader और IMarkupResourceStreamProvider इंटरफेस और कक्षाओं को कार्यान्वित करना और देखना है कि आप वहां से कितने दूर हैं।
मुझे जो कुछ भी मिल रहा है/कार्यान्वित करता है उसमें मुझे दिलचस्पी होगी जो वास्तव में यह हो जाता है!

+4

संकेत के लिए धन्यवाद। उसने ऐसा किया! MarkupContainer को 'IMarkupResourceStreamProvider' और इसकी विधि' getMarkupResourceStream() 'को लागू करना है। साथ ही, आप एक सारणी बनाते हैं जो 'सार तत्व संसाधन स्ट्रीम' से प्राप्त होती है (उदाहरण के लिए)। वहां, आप एक विधि को कार्यान्वित कर सकते हैं जो केवल 'इनपुटस्ट्रीम' लौटाता है। 'getMarkupResourceStream()' प्राप्त करें, फिर बस इस नई कक्षा का एक उदाहरण देता है। जावाडोक का कहना है कि यह कैशिंग के लिए भी पारदर्शी था। – Wolfgang

+1

यह [17.5 कोड से एचटीएमएल मार्कअप जेनरेट] के तहत संदर्भ मार्गदर्शिका में अच्छी तरह से प्रलेखित है (http://wicket.apache.org/guide/guide/advanced.html#advanced_5)। – aioobe

-1

एक और (सरल) तरीके से करना यह अक्षम मार्कअप एस्केपिंग के साथ एक लेबल का उपयोग होगा:

Label<String> label = new Label<String>("id", "<a href='....'><span>foo<em>bar</em></span></a>"); 
label.setEscapeModelStrings(false); 
add(label); 

, हालांकि सावधान रहो के रूप में इस सुरक्षा उल्लंघनों को जन्म दे सकता (HTML/JS इंजेक्शन)।

+0

आपके विचार के लिए धन्यवाद। मुझे यकीन नहीं है कि यह वही है जो मैं खोज रहा था। मैं मार्कअपकॉन्टेनर द्वारा उपयोग किए जाने वाले गतिशील मार्कअप का उपयोग करना चाहता हूं, यानी मैं कुछ विकेट की उम्मीद करता हूं: मार्कअप में आईडी और मैं कंटेनर में और घटक जोड़ना चाहता हूं जिसे तब उन आईडी में मैप किया जाना चाहिए। मुझे डर है कि आपके समाधान के साथ संभव नहीं है। – Wolfgang

+0

हाँ, आप सही हैं, मेरे बुरे। – Jawher

+0

सुरक्षा उल्लंघनों पर विचार करना, लेकिन एक लेबल के दुरुपयोग को सादा HTML प्रदर्शित करने के लिए यह वास्तव में एक बुरा विचार है। – RobAu

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