domingo, 31 de mayo de 2009

nl2br en grails

PHP cuenta con una función para convertir saltos de línea "/n" de una cadena en etiquetas <br> html

Grails no cuenta con una función similar para formatear estas cadenas, que se almacenan desde un simple textArea pero deseamos que mantengan su "formato" al mostrarlas nuevamente.

Una sencilla solución en grails puede ser la siguiente:

1. Crear nuestor propio codificador
2. Llamarlo directamente desde la .gsp

Para crear un codificador, basta con crear en la carpeta grails-app/utils/ una clase así:

NL2BRCodec.groovy (Es importante que el nombre del archivo tenga el sufijo 'Codec')

class NL2BRCodec{
static encode = { string ->
string.trim().replaceAll("\n","<br>")
}
}

Y eso es todo, ahora desde la gsp, lo único que tenemos que hacer es llamar el nuevo codificador así:

<g:encodeAs codec="NL2BR">${objeto.valor}</g:encodeAs>

O así:

${objeto.valor.encodeAsNL2BR()}

No hay comentarios:

Publicar un comentario