此为个人学习笔记,内容可能有些混乱,仅供参考。
-
数据模型
数据模型基本结构是树状的。这棵树可以复杂而且有很大的深度。
扮演目录的角色(根 root , animal , mouse , elephant , python ,
whatnot )被称为 hash 哈希表 。哈希表通过可查找的名称(: ” animal ” , ” mouse ” , ” price ” )
来访问存储的其他变量(如 子变量 )。
如果仅 存储单值 的变量( size , price , text 和 because )则它们被称为 scalars
标量 。 标量可以为字符串、数字、日期/ 时间、布尔值。
当放置 ${ … } 这种特定代码在表达式的前后时,我们就告诉 FreeMarker 在那个位置上要来输出对应的文本。
sequences 序列 也是一种非常重要的变量,它们和哈希表变量相似,但是它们不存储所包含变量的名称,而是按顺序存储子变量 。
总结 :
数据模型可以被看做是树状结构 的。
标量 存储单一的值,这种类型的值可以是字符串,数字,日期/ 时间或者是布尔值。
哈希表 是存储变量和与其相关且有唯一标识名称变量的容器。
序列 是存储有序变量的容器。存储的变量可以通过数字索引来检索,索引通常从零开始。
一个不存在的变量和一个是 null 的变量,对于 FreeMarker 来 说是一样的。
当变量不存在或值 null 可给其默认值,形式 ${ 变量 ! 默认值 }
-
模板
${ … } : FreeMarker 将会输出真实的值来替换花括号内的表达式,这样的表达式被称为 interpolations 插值。
FTL tags 标签:这些标签的使用一般以符号 # 开头。(用户自定义的 FTL 标签使用 @ 符号来代替 # )
Comments 注释:<#-- 和 -->
-
模板中文编码
统一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标签,以扩展其功能并适应特定项目需求。 首先,理解FreeMarker的默认标签语法至关重要。FreeMarker使用${...}表达式来插入变量,#{...}用于输出注释,以及、等控制结构进行条件...
而Freemarker则是一种轻量级的、基于模板的Java模板引擎,常用于Web应用中的动态内容生成,比如JSP替代技术。它允许开发者将业务逻辑与页面展示分离,提高代码的可维护性和可读性。 "eclipse的freemarker插件"是指...
`freemarker-2.3.23.jar`是Freemarker库的一个版本,发布于2.3.23,这个版本可能包含了对早期版本的一些改进、新功能或bug修复。 Freemarker的核心概念是模板语言,它是一种声明式的编程方式,允许开发者编写不包含...
FreeMarker的设计理念是将表现层(视图)和业务逻辑层(控制器)分离,从而实现MVC(Model-View-Controller)架构中的“View”部分。 FreeMarker的核心概念是模板文件,这是一种特殊的文本文件,其中包含可替换的...
赠送jar包:freemarker-2.3.31.jar; 赠送原API文档:freemarker-2.3.31-javadoc.jar; 赠送源代码:freemarker-2.3.31-sources.jar; 赠送Maven依赖信息文件:freemarker-2.3.31.pom; 包含翻译后的API文档:...
这个"freemarker-2.3.28.jar"是Freemarker库的一个具体版本,版本号为2.3.28,它是Java的一个可执行的JAR(Java Archive)文件,用于在Eclipse集成开发环境中作为插件使用。 在Freemarker的2.3.28版本中,我们可以...