2012-04-26 12 views
12

¡En juego! 2.0 podemos pasar argumentos a un mensaje i18n la siguiente manera:Aplicar formato html a mensajes i18n

En mi opinión: (message.key = task.created con argumentos: nombre y un código)

<div class="alert alert-success"> 
<a class="close" data-dismiss="alert">×</a> 
    @Messages("task.created", MyContext.currentUser().firstName, newTask.code) 
</div> 

Mi mensaje se define como:

task.created=<strong>{0}</strong>, your task has been saved with code {1} 

me gustaría ver el firstName con la etiqueta HTML fuerte, pero en lugar de aplicar la etiqueta fuerte que sólo la impresión de la etiqueta strong.

Espero que entiendas mi pregunta. ¿Es esto posible en Play o no?

Gracias!

Respuesta

20

hacerlo de esta manera:

@Html(Messages("task.created", MyContext.currentUser().firstName, newTask.code)) 

espero que esto le puede ayudar!

+0

Esto funciona, ¡gracias! – adis

+0

¿Esto abre una vulnerabilidad XSS si el nombre del usuario contiene HTML? –

+0

Sí, usar @Html representará cualquier contenido como HTML, por lo que cualquiera de los parámetros proporcionados a los mensajes son vulnerables a XSS. – kflorence

Cuestiones relacionadas