Estoy usando freemarker para generar una plantilla de marcación libre. Pero necesito alguna forma de escapar de las etiquetas de freemarker.Freemarker escaping freemarker
¿Cómo escapo una etiqueta <#list>
o ${expression}
?
Estoy usando freemarker para generar una plantilla de marcación libre. Pero necesito alguna forma de escapar de las etiquetas de freemarker.Freemarker escaping freemarker
¿Cómo escapo una etiqueta <#list>
o ${expression}
?
Estoy usando la función alternative syntax. Comienzo la plantilla con [#ftl] y uso esta sintaxis.
Para las expresiones que utilizo la función literal de cadena: ${r"${expression}"}
También es posible usar: ${"$"}{expression}
si se encuentra el confuso {} anidación.
Buena idea, creo que esto apoya la legibilidad mejor –
La mejor de todas las alternativas sugeridas hasta la fecha. Me preocupa que no haya una manera más simple, como '\ $' - pero no la hay. Esta es una buena aproximación de la elegancia ... – Stevel
En el caso cuando se desea utilizar cadenas no primas para que pueda escapar comillas, apóstrofes, etc., puede hacer lo siguiente:
Imagine que desea utilizar la cadena $ {Hola} - "Amigo de mi amigo" dentro de una cadena. No puedes hacer eso con cadenas sin formato. Lo que he usado que funciona es:
${"\x0024{Hello}-\"My friend's friend\""}
No he escapado del apóstrofo ya que utilicé comillas dobles.
Uso el mismo enfoque, que es un poco feo pero funciona. Se pone realmente desagradable si uso una variable de la plantilla externa para definir el acceso a la propiedad de una variable de la plantilla generada, que se ve así: $ {r "$ {entity."} $ {PropertyDescriptor.name}} y termina como $ {entity.creationDate} dado que el propertyDescriptor tiene el nombre "creationDate". –