outputformat

Page Contents

Synopsis

<#outputformat formatName>
  ...
</#outputFormat>

Where:

骆驼的案例名称变体:outputFormat

Note:

从 FreeMarker 2.3.24 开始存在outputformat

Description

output format设置为嵌套块内的指定值。在该块的末尾,恢复了较早的输出格式。

该指令仅对嵌套模块中的字面部分(如文本编辑器中)有效,而对从那里调用/包含的部分无效。

Example:

<#ftl output_format="XML">
XML escaping: ${"&{}"}
<#outputformat "RTF">
  RTF escaping: ${"&{}"}
</#outputformat>
<#outputformat "plainText">
  No escsaping: ${"&{}"}
</#outputformat>
XML escsaping: ${"&{}"}
XML escsaping: &amp;{}
  RTF escaping: &\{\}
  No escsaping: &{}
XML escsaping: &amp;{}

组合(嵌套)输出格式

通常,当outputformat -s 相互嵌套时,只有最里面的输出格式才算在内。例如:

<#ftl output_format="XML">
${"'{}"}
<#outputformat "HTML">
  ${"'{}"}
  <#outputformat "RTF">
    ${"'{}"}
  </#outputformat>
</#outputformat>
&apos;{}
  &#39;{}
    '\{\}

但有时您希望一次应用所有转义的转义输出格式。在这种情况下,应该使用"HTML"然后使用"XML"来转义上面的第二个${...},并且应该使用"RTF"然后使用"HTML""XML"来转义第三个${...}。这些被称为组合输出格式,并且可以分别使用"XML{HTML}""XML{HTLM{RTF}}"之类的名称来引用。我们可以在前两个outputformat调用中使用这些名称,但是,有一个简写形式,您可以从封闭的输出格式继承{...}之外的部分:

<#ftl outputFormat="XML">
${"'{}"}
<#outputFormat "{HTML}"><#-- Same as "XML{HTML}" -->
  ${"'{}"}
  <#outputFormat '{RTF}'><#-- Same as "XML{HTML{RTF}}" -->
    ${"'{}"}
  </#outputFormat>
</#outputFormat>
&apos;{}
  &amp;#39;{}
    &amp;#39;\{\}