FreeMarker相关总结

标签: FreeMarker总结


常用语法点

  • 重复定义同一个变量名会修改原来的值,即使是在import导入的文件中的变量

  • freemarker只支持四种标量(可以理解为Java中的数据类型):字符串、数字、日期/时间、布尔值

  • freemarker只支持两种数据模型(可以理解为Java中的数据结构):hash哈希表(可以理解为Java中的Map)、sequences序列(可以理解为Java中的List)

  • 在freemarker中使用interpolations插值,即${}将真实的值替换花括号内的表达式

  • freemarker中使用#assign指令定义变量时,是遵循先后定义在前,使用在后的,例如,在一个公共的a.ftl文件中用#assign指令定义了一个变量,然后想在b.ftl中使用,该变量就得导入该ftl文件,假设在b.ftl中间有使用这个变量,那就不能在该行的下面导入a.ftl(无论是import还是include)

  • 感叹号是为变量设立默认值例如${name!''}如果name为null,则给name给个''空值(并非null,此时''可以省略)

  • 一个问号后面紧接着是freemarker的内敛函数类似于java的点(StringUtil.isNotBlank("");)

  • 两个问号表示该变量是否不为空,例如 <#if name??> <br></#if> 如果name不为空则显示 <br> 标签

  • list可简单分为两种常用方式:

    • <#list 1..num as i>
          <input name="${i}"/>
      </#list>
      //类似于Java中的for(int i=1;i<=num;i++);

    • <#list beans as bean>
          <span>${bean!}</span>
      </#list>
      //类似于Java中的foreach

results matching ""

    No results matching ""