¿Dónde está el lugar adecuado para escapar de las citas en Play Framework?

Tengo el siguiente flujo:

A un usuario se le presenta un formulario.Rellena los campos del formulario y los envía al controlador, lo que persiste en el DBEn otra página, el Controlador obtiene este registro de la base de datos y lo pasa a la vistaLa vista lo captura como una variable de javascript:var foo = '${user.bar}';

Ahora, si el usuario ingresa esta cadena en la forma:

I have a quote - ' - very dangerous

entonces la cita se pasa a través de todo el camino hacia la base de datos y de vuelta, y da como resultado unacorrupto declaración javascript:

var foo = 'I have a quote - ' - very dangerous';

¿Cuál es el mejor lugar para escapar de este personaje, y cómo? No quiero hacerlo manualmente para cada uso de plantilla, es tedioso y propenso a errores.

Respuestas a la pregunta(1)

Su respuesta a la pregunta