freemarker

此为个人学习笔记,内容可能有些混乱,仅供参考。

 

  1. 数据模型

数据模型基本结构是树状的。这棵树可以复杂而且有很大的深度。

 

扮演目录的角色(根 root animal mouse elephant python

whatnot )被称为 hash 哈希表 。哈希表通过可查找的名称(: animal , mouse , price

来访问存储的其他变量(如 子变量 )。

 

如果仅 存储单值 的变量( size price text because )则它们被称为 scalars

标量 标量可以为字符串、数字、日期/ 时间、布尔值。

 

当放置 ${ } 这种特定代码在表达式的前后时,我们就告诉 FreeMarker 在那个位置上要来输出对应的文本。

 

sequences 序列 也是一种非常重要的变量,它们和哈希表变量相似,但是它们不存储所包含变量的名称,而是按顺序存储子变量

 

     总结

       数据模型可以被看做是树状结构 的。

     标量 存储单一的值,这种类型的值可以是字符串,数字,日期/ 时间或者是布尔值。

     哈希表 是存储变量和与其相关且有唯一标识名称变量的容器。

     序列 是存储有序变量的容器。存储的变量可以通过数字索引来检索,索引通常从零开始。

 

      一个不存在的变量和一个是 null 的变量,对于 FreeMarker 说是一样的。

      当变量不存在或值 null 可给其默认值,形式 ${ 变量 ! 默认值 }

  1. 模板

${ } FreeMarker 将会输出真实的值来替换花括号内的表达式,这样的表达式被称为 interpolations 插值。

FTL tags 标签:这些标签的使用一般以符号 # 开头。(用户自定义的 FTL 标签使用 @ 符号来代替 #

Comments 注释:<#-- -->

 

  1. 模板中文编码

        统一utf8 (三码统一,也可以是gbk

        Configuration ctf 编码

        cfg.setEncoding(Locale.getDefault(), " utf8 ");

 

        Template temp 编码

        temp.setEncoding(" utf8 ");

 

模板页面编码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset= utf8 " />

你可能感兴趣的:(freemarker)