On this page
outputformat
Page Contents
Synopsis
<#outputformat formatName>
...
</#outputFormat>
Where:
formatName
:字符串常量;不能包含运行时表达式!这是输出格式的名称,例如"HTML"
,"XML"
等。参见sched 义输出格式的表格。Configuration
必须知道引用的输出格式,否则将出现parse-time error。名称也可以像"outerFormatName{innerFormatName}"
或"{innerFormatName}"
; 稍后查看组合的输出格式。
骆驼的案例名称变体: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: &{}
RTF escaping: &\{\}
No escsaping: &{}
XML escsaping: &{}
组合(嵌套)输出格式
通常,当outputformat
-s 相互嵌套时,只有最里面的输出格式才算在内。例如:
<#ftl output_format="XML">
${"'{}"}
<#outputformat "HTML">
${"'{}"}
<#outputformat "RTF">
${"'{}"}
</#outputformat>
</#outputformat>
'{}
'{}
'\{\}
但有时您希望一次应用所有转义的转义输出格式。在这种情况下,应该使用"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>
'{}
&#39;{}
&#39;\{\}