मुझे लगता है कि मैं HtmlContent
रों की एक परिवर्तनीय मात्रा में पास करना चाहते हैं play 2.6
में एक सामान्य टेम्पलेट है। मैं इस तरह template
(अंतर्निहित पैरामीटर मैं मामले में है कि कुछ भी बदल जाता है सहित) में परिभाषित किया गया है:स्काला प्ले टेम्पलेट vararg HtmlContent
@(foo: String)(content: Html*)(implicit bar: Bar)
टेम्पलेट तरफ, इस fine-- काम करता है मुझे लगता है मैं के रूप में for
साथ content
काटना और इसे प्रदान कर सकते हैं चाहते हैं। हालांकि, मैं अंतर्निहित टेम्पलेट से परिवर्तनीय तर्कों का आह्वान करने के लिए एक साफ तरीका समझने में सक्षम नहीं हूं।
@(something: String)(implicit bar: Bar)
इसे में, मैं कई एचटीएमएल तर्क के साथ template
आह्वान करने के लिए प्रयास करें:
उदा, मैं एक दृश्य "बाज" नाम दिया है। मैं निम्नलिखित की कोशिश की है:
@template("fooString"){{123},{abc}}
and
@template("fooString")({123}, {abc})
and
@template("fooString"){{123}, {abc}})
और विभिन्न अन्य क्रमपरिवर्तन है, लेकिन एक संलग्न ब्रैकेट के अंदर यह सब कुछ सचमुच व्याख्या करने के लिए HtmlContent
vararg में एक भी पैरामीटर के रूप में लगता है।
हालांकि, इस के रूप में मैं इरादा काम कर रहे कई HtmlContents
में गुजर, समाप्त हो गया:,
@template("fooString")(Html("123"), Html("abc"))
ताकि काम करता है और मैं एक बड़ी एचटीएमएल block-- के लिए एक ट्रिपल उद्धृत अंतर्वेशित स्ट्रिंग का उपयोग कर सकते हैं लेकिन ऐसा लगता है ऐसा करने के लिए एक क्लीनर तरीका होना चाहिए, और स्ट्रिंग इंटरपोलेशन खतरनाक है क्योंकि यह एचटीएमएल से बचने वाला नहीं है।
{
संलग्न वाक्यविन्यास का उपयोग कर ऐसा करने का कोई तरीका है? मैं समझना चाहता हूं कि वास्तव में अंतर्निहित स्तर पर क्या हो रहा है, और कैसे पार्स खेलते हैं और ब्रैकेट में HtmlContent उत्पन्न करते हैं।
आपका 'एचटीएमएल (...) 'दृष्टिकोण मेरे लिए काफी साफ और स्पष्ट दिखता है। [ट्वर्लर स्रोत कोड] (https://github.com/playframework/twirl) हालांकि आपके प्रश्न में आगे बढ़ने और खोदने के लिए एक स्थान हो सकता है। – wwkudu
मेरे द्वारा पोस्ट किए गए उत्तर पर कोई टिप्पणी? –