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

freemarker学习笔记_第1张图片

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

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

    1.定义变量:

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

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

freemarker学习笔记_第2张图片


前台调用时

freemarker学习笔记_第3张图片

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

3.富文本:

后台设置

freemarker学习笔记_第4张图片

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

    前端:?html>,则原样输出:我只是想早点下班。对不起,你是程序员!

4.遍历List集合

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

freemarker学习笔记_第5张图片

5.遍历map集合

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

把map的key当做list遍历输出

freemarker学习笔记_第6张图片

6.if语句

freemarker学习笔记_第7张图片

注意不要漏了

freemarker学习笔记_第8张图片

freemarker中的elseif没有空格

freemarker学习笔记_第9张图片

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

freemarker学习笔记_第10张图片

逻辑或与非

7.switch语句

freemarker学习笔记_第11张图片

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


五.string基本操作指令

<#assign a='hello'>

<#assign b='world!'>

  • 连接
  • ${a+b}

  • 截取
  • ${(a+b)?substring(5,8)}

  • 长度
  • ${(a+b)?length}

  • 大写
  • ${(a+b)?upper_case}

  • 小写
  • ${(a+b)?lower_case}

  • index_of
  • (首次出现位置)

    ${(a+b)?index_of('w')}

  • replace
  • (替换)

    ${(a+b)?replace('o','abc')}

  • last_index_of
  • (最后出现位置)

    ${(a+b)?last_index_of('o')}

    六.List的内建函数

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

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

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

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


    你可能感兴趣的:(freemarker)