2015年11月23日
摘要: 在Freemarker中,比较数据的大小时候,要注意大于号(>)的使用。如果不注意,程序就会发生异常信息,如下面的例子:12345 > x >5以上的方式进行比较,就会发生异常,原因是Freemarker内部的解析处理原因,x>5中的大于号将会跟5) > x > 5方法二:使用gt符号。1234 x... 阅读全文
posted @ 2015-11-23 00:05 一花一四季,一梦一世界 阅读(2387) 评论(0) 推荐(0)
摘要: freemarker有自己的log类,这是一个抽象类,具体的日志打印委托给classpath里面合适的日志jar包来执行,寻找合适日志jar的查找顺序是:Apache Log4J, Apache Avalon LogKit, JDK log。如果一个合适的日志实现类都没有找到,日志功能将被抑制,并会... 阅读全文
posted @ 2015-11-23 00:03 一花一四季,一梦一世界 阅读(1093) 评论(0) 推荐(0)
摘要: 例如:一个freemarker表达式 ${hello} ,会被解析成三个部分,分别是${hello}前面和后面的body标签,在freemarker中被定义为TextBlock,中间的变量定义为DollarVariable。那么目前的结构也就是RootExpression = TextBlock D... 阅读全文
posted @ 2015-11-23 00:02 一花一四季,一梦一世界 阅读(465) 评论(0) 推荐(0)
摘要: Sequence的内置函数1.sequence?first 返回sequence的第一个值。2.sequence?last 返回sequence的最后一个值。3.sequence?reverse 将sequence的现有顺序反转,即倒序排序4.sequence?size 返回sequence的大小5... 阅读全文
posted @ 2015-11-23 00:02 一花一四季,一梦一世界 阅读(341) 评论(0) 推荐(0)
  2015年11月22日
摘要: freemarker的数据类型主要包括下面几类:字符串类型定义字符串可以使用双引号和单引号,例如:或者这两种形式是相等的。字符串中可以使用转义字符"\"。如果字符串内有大量的特殊字符,则可以在引号的前面加上一个字母r,则字符串内的所有字符都将直接输出。例如:"It's \"quoted\"" 或者 ... 阅读全文
posted @ 2015-11-22 23:56 一花一四季,一梦一世界 阅读(207) 评论(0) 推荐(0)
摘要: FreeMarker的变量必须赋值,否则就会抛出异常。而对于FreeMarker来说,null值和不存在的变量是完全一样的,因为FreeMarker无法理解null值。FreeMarker提供两个运算符来避免空值:(1)!运算符:指定缺失变量的默认值;(2)??运算符:判断变量是否存在。!运算符有两... 阅读全文
posted @ 2015-11-22 23:53 一花一四季,一梦一世界 阅读(2229) 评论(0) 推荐(0)
摘要: FreeMarker 的缓存处理主要用于模版文件的缓存,一般来讲,模版文件改动不会很频繁,在一个流量非常大的网站中,如果频繁的读取模版文件对系统的负担还是很重的,因此 FreeMarker 通过将模版文件的内容进行缓存,来降低模版文件读取的频次,降低系统的负载。当处理某个模版时,FreeMarker... 阅读全文
posted @ 2015-11-22 23:51 一花一四季,一梦一世界 阅读(1376) 评论(0) 推荐(0)
摘要: 首先去freemarker官网下载源码jar包,本文是基于freemarker-2.3.21.tar.gz进行研究的。解压源码包,找到freemarker的源码部分导入eclipse工程中。需要注意的是:freemarker的ftl文件解析使用javacc实现的,所以源码中没有解析类(FMParse... 阅读全文
posted @ 2015-11-22 23:49 一花一四季,一梦一世界 阅读(793) 评论(0) 推荐(0)
摘要: 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 一花一四季,一梦一世界 阅读(233) 评论(0) 推荐(0)
摘要: 1 截取字符串有的时候我们在页面中不需要显示那么长的字符串,比如新闻标题,这样用下面的例子就可以自定义显示的长度 ${title.content?default("")} ${title.content[0..3]?default("")}...意思就是如果这个字符串的长度小于8,那么就正常显示,... 阅读全文
posted @ 2015-11-22 23:45 一花一四季,一梦一世界 阅读(237) 评论(0) 推荐(0)