FreeMarker 使用实例
摘要:以下内容全部是网上收集:FreeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成:1,文本:直接输出的部分2,注释:格式部分,不会输出3,插值:即${...}或#{...}格式的部分,将使用数据模型中的部分替代输出4,FTL指令:FreeMarke...
阅读全文
posted @
2016-01-01 10:34
一花一四季,一梦一世界
阅读(594)
推荐(0) 编辑
freemarker 异常处理
摘要:SSH2处理方案:freemarker文件如果出错,网站的前台页面会报出很明显的错误-焦黄的背景,血红的文字,很不利于用户体验的。如何修改这个问题呢?首先需要在struts.xml配置文件里添加下面一行代码:1接着新建MyFreemarkerManager类,如下所示:123456789101112...
阅读全文
posted @
2015-11-23 00:18
一花一四季,一梦一世界
阅读(2252)
推荐(0) 编辑
StringTemplateLoader的用法
摘要:作为一个模板框架,freemarker的功能还是很强大的。在模板处理方面,freemarker有多种形式,最常见的方式是将模板文件放在一个统一的文件夹下面,如下形式:Configuration cfg = new Configuration();cfg.setDirectoryForTemplate...
阅读全文
posted @
2015-11-23 00:10
一花一四季,一梦一世界
阅读(3504)
推荐(0) 编辑
Freemarker中大于号>的使用
摘要:在Freemarker中,比较数据的大小时候,要注意大于号(>)的使用。如果不注意,程序就会发生异常信息,如下面的例子:12345 > x >5以上的方式进行比较,就会发生异常,原因是Freemarker内部的解析处理原因,x>5中的大于号将会跟5) > x > 5方法二:使用gt符号。1234 x...
阅读全文
posted @
2015-11-23 00:05
一花一四季,一梦一世界
阅读(2335)
推荐(0) 编辑
freemarker日志实现过程分析
摘要:freemarker有自己的log类,这是一个抽象类,具体的日志打印委托给classpath里面合适的日志jar包来执行,寻找合适日志jar的查找顺序是:Apache Log4J, Apache Avalon LogKit, JDK log。如果一个合适的日志实现类都没有找到,日志功能将被抑制,并会...
阅读全文
posted @
2015-11-23 00:03
一花一四季,一梦一世界
阅读(1085)
推荐(0) 编辑
freemarker内建函数介绍
摘要:Sequence的内置函数1.sequence?first 返回sequence的第一个值。2.sequence?last 返回sequence的最后一个值。3.sequence?reverse 将sequence的现有顺序反转,即倒序排序4.sequence?size 返回sequence的大小5...
阅读全文
posted @
2015-11-23 00:02
一花一四季,一梦一世界
阅读(330)
推荐(0) 编辑
freemarker模板解析过程
摘要:例如:一个freemarker表达式 ${hello} ,会被解析成三个部分,分别是${hello}前面和后面的body标签,在freemarker中被定义为TextBlock,中间的变量定义为DollarVariable。那么目前的结构也就是RootExpression = TextBlock D...
阅读全文
posted @
2015-11-23 00:02
一花一四季,一梦一世界
阅读(456)
推荐(0) 编辑
freemarker数据类型
摘要:freemarker的数据类型主要包括下面几类:字符串类型定义字符串可以使用双引号和单引号,例如:或者这两种形式是相等的。字符串中可以使用转义字符"\"。如果字符串内有大量的特殊字符,则可以在引号的前面加上一个字母r,则字符串内的所有字符都将直接输出。例如:"It's \"quoted\"" 或者 ...
阅读全文
posted @
2015-11-22 23:56
一花一四季,一梦一世界
阅读(203)
推荐(0) 编辑
freemarker空值的处理
摘要:FreeMarker的变量必须赋值,否则就会抛出异常。而对于FreeMarker来说,null值和不存在的变量是完全一样的,因为FreeMarker无法理解null值。FreeMarker提供两个运算符来避免空值:(1)!运算符:指定缺失变量的默认值;(2)??运算符:判断变量是否存在。!运算符有两...
阅读全文
posted @
2015-11-22 23:53
一花一四季,一梦一世界
阅读(2152)
推荐(0) 编辑
FreeMarker缓存处理
摘要:FreeMarker 的缓存处理主要用于模版文件的缓存,一般来讲,模版文件改动不会很频繁,在一个流量非常大的网站中,如果频繁的读取模版文件对系统的负担还是很重的,因此 FreeMarker 通过将模版文件的内容进行缓存,来降低模版文件读取的频次,降低系统的负载。当处理某个模版时,FreeMarker...
阅读全文
posted @
2015-11-22 23:51
一花一四季,一梦一世界
阅读(1327)
推荐(0) 编辑
freemarker入门实例与源码研究准备工作
摘要:首先去freemarker官网下载源码jar包,本文是基于freemarker-2.3.21.tar.gz进行研究的。解压源码包,找到freemarker的源码部分导入eclipse工程中。需要注意的是:freemarker的ftl文件解析使用javacc实现的,所以源码中没有解析类(FMParse...
阅读全文
posted @
2015-11-22 23:49
一花一四季,一梦一世界
阅读(785)
推荐(0) 编辑
Freemarker常用技巧(二)
摘要:1 list、break指令 ...tem_index:当前变量的索引值.item_has_next:是否存在下一个对象.${x_index + 1}.${x},输出结果:1.星期一,2.星期二,3.星期三,4.兴趣四,2 import指令path:指定要被导入的模板文件.mapObject:是一个...
阅读全文
posted @
2015-11-22 23:46
一花一四季,一梦一世界
阅读(226)
推荐(0) 编辑
Freemarker常用技巧(一)
摘要:1 截取字符串有的时候我们在页面中不需要显示那么长的字符串,比如新闻标题,这样用下面的例子就可以自定义显示的长度 ${title.content?default("")} ${title.content[0..3]?default("")}...意思就是如果这个字符串的长度小于8,那么就正常显示,...
阅读全文
posted @
2015-11-22 23:45
一花一四季,一梦一世界
阅读(226)
推荐(0) 编辑
freemarker常用的基本命令
摘要:if,else,elseif指令switch,case,default,break指令list,break指令include指令import 指令noparse指令compress指令escape,noescape指令assign 指令global 指令local 指令setting 指令用户自定义...
阅读全文
posted @
2015-11-22 23:44
一花一四季,一梦一世界
阅读(198)
推荐(0) 编辑