(而不是)之间include:Java" />

freemarker笔记

系统 1872 0

获取参数:param.id
定义变量并赋值:<#assign id=param.id />
避免空值出错:id?default("")

${…}:称为interpolations,FreeMarker会在输出时用实际值进行替代,如${id},${map.ID}
FTL标记(FreeMarker模板语言标记):类似于HTML标记,为了与HTML标记区分,用#开始(有些以@开始,在后面叙述)
注释:包含在<#--和-->(而不是<!--和-->)之间

include:

Java代码 复制代码   收藏代码
  1. <#include  "/copyright_footer.html" >  
    <#include "/copyright_footer.html">
  



if/elseif/else:

Java代码 复制代码   收藏代码
  1. <# if  condition><#elseif condition><# else ></# if >  
    <#if condition><#elseif condition><#else></#if>

  



循环:

Java代码 复制代码   收藏代码
  1. <#list hash_or_seq as var>   
  2.     遍历hash表或者collection(freemaker称作sequence)的成员    
  3.     求序号用info_index   
  4.     求list长度用list?size   
  5. </#list>   
    <#list hash_or_seq as var>
	遍历hash表或者collection(freemaker称作sequence)的成员 
	求序号用info_index
	求list长度用list?size
</#list> 

  


Java代码 复制代码   收藏代码
  1. 内建函数   
  2.     字符串使用的:   
  3.         html:对字符串进行HTML编码   
  4.         cap_first:使字符串第一个字母大写   
  5.         lower_case:将字符串转换成小写   
  6.         upper_case:将字符串转换成大写   
  7.         trim:去掉字符串前后的空白字符   
  8.     序列使用的:   
  9.         size:获得序列中元素的数目   
  10.     数字使用的:   
  11.          int :取得数字的整数部分(如- 1.9 ? int 的结果是- 1 )  
    内建函数
	字符串使用的:
		html:对字符串进行HTML编码
		cap_first:使字符串第一个字母大写
		lower_case:将字符串转换成小写
		upper_case:将字符串转换成大写
		trim:去掉字符串前后的空白字符
	序列使用的:
		size:获得序列中元素的数目
	数字使用的:
		int:取得数字的整数部分(如-1.9?int的结果是-1)
  




Java代码 复制代码   收藏代码
  1. <#macro name param1 param2 ... ><#nested param></#macro> 宏,无返回参数   
  2. <#function name param1 param2><# return  val></#function> 函数,有返回参数   
  3.   
  4. {key:value, key2:value2 ...} 直接定义一个hash表   
  5. [item0, item1, item2 ...] 直接定义一个序列   
  6. hash0[key0] 存取hash表中key对应的元素   
  7. seq0[ 5 ] 存取序列指定下标的元素    
  8.   
  9. < @function1  param0 param1 ... /> 调用函数function1   
  10. < @macro0  param0 param1 ; nest_param0 nest_param1 ...> nest_body < / @macro > 调用宏,并处理宏的嵌套   
  11. <#assign var = value > 定义变量并初始化  
    <#macro name param1 param2 ... ><#nested param></#macro> 宏,无返回参数
<#function name param1 param2><#return val></#function> 函数,有返回参数

{key:value, key2:value2 ...} 直接定义一个hash表
[item0, item1, item2 ...] 直接定义一个序列
hash0[key0] 存取hash表中key对应的元素
seq0[5] 存取序列指定下标的元素 

<@function1 param0 param1 ... /> 调用函数function1
<@macro0 param0 param1 ; nest_param0 nest_param1 ...> nest_body < /@macro> 调用宏,并处理宏的嵌套
<#assign var = value > 定义变量并初始化
  



----------------------------------------------------------

遇到的麻烦的地方有两个:

一个是空值的处理,很多地方都要多写一个?default("")实在很麻烦,幸亏师兄找到了解决办法,拜一个,见这里: http://huxiao.iteye.com/blog/470927

另一个是不同数据类型不能比较,否则报错,可以用abc?string和abc?int来强转
----------------------------------------------------------

使用起来总之不难,刚看的时候也很迷茫,因为我是新手,学java才几个月,所以理解这些东西比较慢一些,网上很多高手都说几个小时拿下,我大概花了有3-4天的时间吧,1个多星期后才能得心应手的使用,但是到现在为止还有很多不会,只是了解了一些浅层的东西,不过早晚的事情啦,我会努力的。一起加油。
其他部分参见《FreeMarker中文文档》,附件中有。

 

 

 

转自: http://huxiao.iteye.com/blog/470972

freemarker笔记


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论