मुझे नवीनतम प्ले फ्रेमवर्क 2.1.1 संदेश, चर, लूप के लिए सरल आदि का उपयोग करके स्कैला टेम्पलेट में कुछ कच्चे HTML को मुद्रित करने की आवश्यकता है। सब कुछ ठीक काम कर रहा है। लेकिन क्या होगा यदि मुझे कुछ तर्क करने और कच्चे HTML को टेम्पलेट में प्रिंट करने की आवश्यकता है?स्कैला टेम्पलेट में HTML प्रिंट करें
@{
val courts = venue.getCourts()
val totalWidth : Int = 920
.. some other initialization variables/values
var output : String = ""
for(court <- courts) {
output += "<p>SomeComplexString</p>"
}
output
}
इस मामले @{}
समारोह में output
रिटर्न लेकिन है कि HTML बच रहा है और यह भी (लौटने से पहले ही output
चर में सब कुछ के संयोजन) इसलिए व्यावहारिक नहीं है।
अगर मैं की तरह
for(court <- courts) {
println("<p>SomeComplexString</p>")
}
कुछ डाल यह काम नहीं कर रहा (मैं किसी भी त्रुटि संकलन लेकिन वहाँ उत्पादन पर कुछ भी नहीं है नहीं मिलता है)।
मैं
@for(court <- courts) {
<p>SomeComplexString</p>
}
कर सकता है, लेकिन फिर courts
होगा बाहर के दायरे (बस मैं शुरुआत पर टेम्पलेट चर के रूप में courts
को परिभाषित नहीं कर सकते हैं मान लीजिए)।
समाधान क्या है?
सही उत्तर लेकिन सुरक्षा चिंताओं के कारण '@Html()' का उपयोग करने से बचें। – adis
@adis क्या आप कृपया @Html() की सुरक्षा चिंताओं को निर्दिष्ट कर सकते हैं? – user1943442
@ user1943442 स्क्रिप्ट इंजेक्शन यदि आप उपयोगकर्ता इनपुट से '@ एचटीएमएल' का उपयोग करते हैं। कुछ और पढ़ें: http://wonko.com/post/html-escaping – adis