setting

Page Contents

Synopsis

<#setting name=value>

Where:

Description

为后续处理设置设置。设置是影响 FreeMarker 行为的值。新值将仅在设置它的模板处理中出现,并且不会触及模板本身。设置的初始值由程序员设置(请参阅:程序员指南/配置/设置)。

支持的设置为:

可能的设置值为(引号不是值本身的一部分):

Warning!

小心不要使用YYYY(大写,表示“周年”)而不是yyyy(小写,表示年)!这是一个容易犯的错误,并且在测试期间很难注意到,因为“周年”与“年”仅在年末之间有所不同。

来自同一类别的选项是互斥的,例如一起使用ms是错误。

可以以任何 Sequences 指定选项。

准确性和时区偏移可见性选项不影响解析,仅影响格式。例如,即使您使用"iso m nz",也将成功解析"2012-01-01T15:30:05.125+01"且精度为毫秒。时区选项(如"u")仅在解析不包含时区偏移量的字符串时影响选择哪个时区。

使用"iso"进行解析可以理解“扩展格式”和“基本格式”,例如20141225T235018。但是,它不支持所有类型的 ISO 8601 字符串的解析:如果有日期部分,则必须使用年,月和月中的日期值(而不是一年中的星期),并且日期不能被省略。

"iso"的输出是有意的,因此它也是 XML Schema 格式的值的良好表示形式,除了 0 和负数年份(这是不可能的)之外。另请注意,对于"iso"格式的日期值,时区偏移量被省略,而对于"xs"格式则保留时区偏移量。

Warning!

如果您将此设置从其默认值更改,则当然也应该将sql_date_and_time_time_zone设置为“ JVM default”。请参阅Configurable.setSQLDateAndTimeTimeZone(TimeZone)的 Java API 文档中的更多内容。

示例:假设模板的初始语言环境为de_DE(德语)。然后这样:

${1.2}
<#setting locale="en_US">
${1.2}

将输出以下内容:

1,2
1.2

因为德国人使用逗号作为小数点分隔符,而美国人则使用点。

上一章 首页 下一章