freemarker学习笔记

一、什么是freemarker

  FreeMarker是一个用Java语言编写的模板引擎。它基于模板来生成文本输出。Freemarker与web容器无关,即在web运行时,它并不知道servlet或者HTTP,它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java等。目前在企业中,主要用freemarker做静态页面或是页面展示。

  其实在我的理解freemarker就是一种工具,它能把jsp页面转换成静态页面,为用户的访问节省时间,同样减少服务器的压力。


、取值指令:

    1.常用${var}语法进行取值

    2.对null和不存在的对象取值用${var!},则出错时不会抛出异常

    3.取包装对象的值用“点”语法,${User.name}

    4.Date类型格式${date?string("yyyy-MM-dd")}

    5.转义HTML内容:${var?html}

三.取值:

1.freemarker不支持java.util.Date类型,支持java.sql.Date类型

可以在后台转换成sql.Date

或者在前台进行转义${dateVar?String('yyyy-MM-dd HH:mm:ss')}

四.变量的的定义,赋值,运算    

    1.定义变量:

       在html <#assign var=value>定义一个变量,例如<#assign a=100>,然后就可以用a做运算了,例如${a+100}

    2.自定义对象User变量的取值:


前台调用时


${(userObj.name)!"默认值"} 当java中没有userObj对象时,使用括号把userObj.name括起来,括号外使用叹号,避免报异常。叹号后可加默认值。

3.富文本:

后台设置


    前端:<userObj.Brief!>,则输出:我只是想早点下班。对不起,你是程序员!(红色字体)

    前端:<userObj.Brief!?html>,则原样输出:<font color="red">我只是想早点下班。对不起,你是程序员!</font>

4.遍历List集合

<#list 集合变量 as 集合元素名称> ${集合元素名称}</#list>


5.遍历map集合

<#list map?keys as key> ${key}:${map[key]}<br/></#list>

把map的key当做list遍历输出


6.if语句


注意</#if>不要漏了


freemarker中的elseif没有空格


判断变量是否存在: 1.<#if 变量名??> 2 .<#if 变量名?exists>


逻辑或与非

7.switch语句


最好每个case都配一个<#break>


五.string基本操作指令

<#assign a='hello'>

<#assign b='world!'>

<li>连接</li>

<font color="red" >${a+b}</font><br/>

<li>截取</li>

<font color="blue" >${(a+b)?substring(5,8)}</font><br/>

<li>长度</li>

<font color="red" >${(a+b)?length}</font><br/>

<li>大写</li>

<font color="blue" >${(a+b)?upper_case}</font><br/>

<li>小写</li>

<font color="red">${(a+b)?lower_case}</font><br/>

<li>index_of</li>(首次出现位置)

<font color="blue">${(a+b)?index_of('w')}</font><br/>

<li>replace</li> (替换)

<font color="red" >${(a+b)?replace('o','abc')}</font><br/>

<li>last_index_of</li>(最后出现位置)

<font color="blue">${(a+b)?last_index_of('o')}</font><br/>

六.List的内建函数

<#assign mylist=[7,3,5,1,6]>

<#list mylist?sort as item> ${item_index}:${item}</#list>

用变量名?sort进行排序(从小到大),变量名?sort?reverse进行排序(从大到小)

item_index可以获取下标,从0开始


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值