• 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指令;

  • 相关阅读:
    Leetcode 12. Integer to Roman
    Leetcode 133. Clone Graph
    Leetcode 199. Binary Tree Right Side View
    Leetcode 200. Number of Islands
    React通过Ajax获取数据
    canvas鼠标点击划线
    制作图片墙
    CSS制作翻牌特效
    输入框制作方法
    初来咋到
  • 原文地址:https://www.cnblogs.com/kehuaihan/p/8419408.html
Copyright © 2020-2023  润新知