文档详情

java freemarker常见语法大全.doc

发布:2017-12-09约4.92千字共6页下载文档
文本预览下载声明
freemarker常见语法大全 FreeMarker的插值有如下两种类型:1,通用插值${expr};2,数字格式化插值:#{expr}或#{expr;format} ${?if_exists } //用于判断如果存在,就输出这个值 ${?default(‘xxx’)}//默认值xxx ${!xxx}//默认值xxx ${book.date?string(yyyy-MM-dd)} //日期格式 ${book?string.number} 20 //三种不同的数字格式 ${book?string.currency}--#-- $20.00 -- ${book?string.percent}—#-- 20% -- #assign foo=ture / //声明变量,插入布尔值进行显示 ${foo?string(yes,no)} #-- yes -- 大小比较符号使用需要注意:(xml的原因),可以用于比较数字和日期 使用lt、lte、gt和gte来替代、=、和= 也可以使用括号#if (xy) 内置函数: 调用区别于属性的访问,使用?代替. 常见的一些内置函数 对于字符串 html-对字符串进行HTML编码 cap_first-使字符串第一个字母大写 lower_case-将字符串转换成小写 trim-去掉字符串前后的空白字符 示例:${“freeMarker”?cap_first} 对于Sequences(序列) size-获得序列中元素的数目 对于数字 int-取得数字的整数部分(如-1.9?int的结果是-1) 对于集合,可以使用数组的方式,使用下标索引进行访问 逻辑判断: if................ #if condition... #elseif condition2... #elseif condition3...... #else... Boolean类型的空值判断 空值判断可以写成#if ?? //注意${}为变量的渲染显示,而为定义等操作符的定义 switch............ #switch value #case refValue1 ... #break #case refValue2 ... #break ... #case refValueN ... #break #default ... /#switch 快速定义int区间的集合 #assign l=0..100/ //注意不需要[] 3:循环读取集合: 注意/的使用 #list student as stu ${stu}br/ /#list 与jstl循环类似,也可以访问循环的状态 item_index:当前变量的索引值 item_has_next:是否存在下一个对象 其中item名称为as后的变量名,如stu 集合长度判断 #if student?size != 0/#if 判断=的时候,注意只要一个=符号,而不是== 宏/模板 初步了解: 使用更像一个闭包closure,可以定义后,在脚本中任意地方引用,并原地起作用 #macro greet font size=+2Hello Joe!/font /#macro 使用的方式为: @greet/@greet //同xml可以简写成@greet/ 宏的参数定义,类似js,在宏名后 带参数进行传递定义 #macro greet person color ${person} /#macro 调用带参数时,注意使用类似XML的属性格式进行传递,不需要关心顺序问题 @greet person=Fred color=black/ 参数默认值定义,如果没有,就必须要求传递完整的参数列表 #macro greet person color=black font size=+2 color=${color}Hello ${person}!/font /#macro 使用xml的嵌套内容进行传递宏调用,关键标签 #nested #macro border table border=4 cellspacing=0 cellpadding=4trtd #nested /tr/td/table /#macro 调用时: @borderThe bordered text/@border #nested 标签可以在宏中多次调用,也可以将多个宏组合进行嵌套 for循环的精简版: #list 1..count as x /#list 宏的循环变量,配合嵌套标签进行参数传递, #macro repeat count #list 1..count as x #nested x, x/2, x==count //这里的三个参数,将会传递到嵌套内容中 /#list /#macro @repeat count=4
显示全部
相似文档