Ho bisogno di stampare codice HTML grezzo nel modello Scala utilizzando il più recente Play Framework 2.1.1 Messaggi, variabili, cicli semplici, ecc. Tutto funziona correttamente. Ma cosa succede se ho bisogno di fare un po 'di logica e stampare HTML grezzo nel modello?Stampa HTML in modello Scala
@{
val courts = venue.getCourts()
val totalWidth : Int = 920
.. some other initialization variables/values
var output : String = ""
for(court <- courts) {
output += "<p>SomeComplexString</p>"
}
output
}
In questa funzione caso @{}
restituisce output
ma che HTML è sfuggito ed inoltre non è così pratico (che unisce il tutto in un'unica output
variabile prima di tornare).
Se metto qualcosa come
for(court <- courts) {
println("<p>SomeComplexString</p>")
}
non funziona (non ho ricevuto alcuna errori di compilazione, ma non c'è niente in uscita).
ho potuto fare
@for(court <- courts) {
<p>SomeComplexString</p>
}
ma poi courts
sarebbe out-of-scope (lascia solo dire che non so definire courts
come variabile di modello sull'inizio).
Qual è la soluzione?
risposta corretta ma evitare l'uso di '@Html()' a causa di problemi di sicurezza. – adis
@adis Puoi specificare i problemi di sicurezza di @Html()? – user1943442
@ user1943442 Injection script se si usa '@ Html' da un input dell'utente. Per saperne di più: http://wonko.com/post/html-escaping – adis