旧的 FTL 语法

使用旧的 FTL 语法,FTL 标记中不需要#(甚至不允许 2.1 以前的版本)。例如,您可以这样编写:

<html>
<head>
  <title>Welcome!</title>
</head>
<body>
  <h1>Welcome ${user}!</h1>
  <p>We have there animals:
  <ul>
  <list animals as animal>
    <li>${animal.name} for ${animal.price} Euros
  </list>
  </ul>
  <include "common_footer.html">
</body>
</html>

对于 HTML 作者来说,# -less 语法更自然,但它有太多缺点,因此最终我们决定弃用它。使用较新的语法(也称为“严格语法”),严格要求#。也就是说,由于<include "common_footer.html">之类的东西不视为 FTL 标签,因此它们将按原样转到输出。请注意,用户定义的指令使用@而不是* #

但是,为了给用户腾出时间为更改做准备,在 FreeMarker 2.1 和 2.2 中,使用#是可选的,除非程序员通过在Configuration上调用setStrictSyntaxMode(true)在 FreeMarker 配置中启用严格语法模式。实际上,我们强烈建议程序员这样做。从更高版本开始,此设置最初将设置为true。另外,您可以使用ftl directive指定是要在模板文件中使用严格语法还是旧语法。

与传统的 FTL 语法相比,“严格语法”的优点是:

上一章 首页 下一章