FreeMarker学习总结

 

如何实现项目启动就加载spring核心配置文件,生成各种bean:将spring核心配置文件放到web.xml中;

FreeMarker相关配置放到springmvc核心配置文件中;

控制器中,将vo对象放到ModelAndView对象中,返回给前台,FreeMarker接收ModelAndView对象并进行解析生成html在页面展示;

FreeMarker自带指令使用#开头,自定义指令使用@开头;

对于单引号和双引号,FreeMarker是没有区别的;

  两个问号:用于判断变量是否存在;?exists 语法具有相同效果;

Java数据类型:

FreeMarker取值指令:

常用取值语法;

  对null、不存在对象取值语法;

  取包装对象的值;

FreeMarker取Java基本数据模型的值:

boolean类型值得format:

  FreeMarker不支持输出boolean类型的true和false,只能输出经过转化的yes和no;

date类型值得format:

  Controller层的Model里面返回的Date类型必须是java.sql.Date,这样Freemarker才能转义输出到页面,而不能是java.util.Date;但我们经常使用的是java.util.Date,所以要使用string函数进行转义;

null或者不存在的变量取值:

变量的定义、赋值、运算:

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

集合List的遍历:

集合Map的遍历:

if语法:

switch的语法:

string基本操作指令:

  连接:+   截取:substring()  长度:length  大写:upper_case  小写:lower_case

  位置:index_of、last_index_of  替换:replace

自定义函数:

  自定义业务类,实现TemplateMethodModelEx接口,实现exec方法,进行具体的业务处理;

  控制器的业务方法中,将业务类对象以key-value形式放到ModelAndView中,并返回;

  在html文件中,使用key作为自定义函数名进行具体操作;

  注意点:FreeMarker有自己的数据类型,在自定义函数中,它的入参类型是FreeMarker中的数据类型,所以先用FreeMarker中的数据类型来接收入参,然后再转成Java中的数据类型;

List排序内建函数、常用指令:

  sort  reverse  size 

自定义指令:

  自定义业务类,实现TemplateDirectiveModel接口,实现execute方法,进行具体的业务处理;

  在springmvc核心配置文件中,配置自定义指令:包括指令的名字,引用的实现类;

  在html页面中使用自定义的指令,进行具体操作;

  注意:

业务类中使用FreeMarker的数据类型来接收参数;

   自定义指令使用@开头;

FreeMarker常用内建函数:

  处理字符串的内建函数:

substring  cap_first  ends_with  contains

date  datetime  time

starts_with  index_of  last_index_of  split  trim

  处理数字的内建函数:

string  x?string(“0.##”)

round  floor  ceiling

  处理List的内建函数:

first  last  seq_contains  seq_index_of

size  reverse  sort  sort_by

chunk

  其他内建函数:

is函数:is_string  is_number  is_method

()  has_content

eval求值

宏macro、nested指令:

 

函数function、return指令:

我的订单各个展示页面:

Java中常用的数据类型;

取值(插值)指令;

逻辑指令:if、else;

取值(插值)指令:

 常用取值语法;

 对null、不存在对象取值语法;

 取包装对象的值;

 取值的时候进行计算、赋值;

 Date类型转成String类型;

知识大纲:

Java数据类型、FreeMarker取值;

FreeMarker取Java基本数据模型的值;

boolean类型值得format;

date类型值得format;

null或者不存在的变量取值;

变量的定义、赋值、运算;

自定义对象User变量的取值;

集合List的遍历;

集合Map的遍历;

if语法;

switch的语法;

string基本操作指令;

自定义函数;

List排序内建函数、常用指令;

自定义指令;

FreeMarker常用内建函数;

macro、function指令;

原文地址:https://www.cnblogs.com/kehuaihan/p/8419408.html