代码之家  ›  专栏  ›  技术社区  ›  geofflane

在Freemarker中实现自定义转义器

  •  1
  • geofflane  · 技术社区  · 17 年前

    Freemarker能够使用如下方式进行文本转义:

    <#escape x as x?html>
    Foo: ${someVal}
    Bar: ${someOtherVal}
    </#escape>
    

    xml、xhtml和html都是内置转义器。有没有办法注册定制的转义符?我想生成CSV并转义每个单独的元素,这似乎是一个很好的机制。

    2 回复  |  直到 17 年前
        1
  •  1
  •   ChssPly76    17 年前

    内置 .
    <#escape> OTOH是一种语法糖,可以避免反复键入同一个表达式。它可以与 任何 表达式,它不仅限于内置。

    也就是说,不幸的是,没有内置的csv字符串转义功能,如果不修改FreeMarker源代码,就无法编写自己的代码(尽管如果您确实想这样做,它非常简单-请看 freemarker.core.BuiltIn

        2
  •  0
  •   Brian Agnew    17 年前

    HtmlEscaper 指示如何在代码中实例化/注册(请参见页眉),因此我怀疑您是否实现了自己的 TemplateTransformModel