zoukankan      html  css  js  c++  java
  • freemarker:常用指令、null值的处理、基本数据类型、自定义指令

    1、常用指令

    (1)if

    数据:

    root.put("Student",new Student("zhai",32));

    模板:

    <body>
    <#if Student.age lt 12>
    ${Student.sname}小孩子
    <#elseif  Student.age gt 18>
    ${Student.sname}成年
    <#else>
    ${Student.sname}你好
    </#if>
    </body>

    输出:

     (2)include

    数据:

     root.put("Student",new Student("zhai",32));

    要被包含的文件:

     引入要被包含的文件:

     输出文件:

    2、null值的处理

    (1)null值报错

    从一个不存在的属性取出数据为null:

     报错:

     (2)null值的处理

     测试:

    3、基本数据类型

    (1)数字和字符串

    定义:

    输出

     (2)不能直接输出数字和字符串以外的类型,需要转换为字符串以后才能输出

    定义数据:

     取出数据:

    4、自定义指令

    (1)定义自定义指令并传递参数

     输出:

    5、总结

    (1)概念

    freemarker是一个模板引擎,虽然具有一定的编程能力,但是通常将其作为模板而数据通过java程序提供,模板+数据=页面

    freemarker不是一个web应用的框架,而适合作为web应用框架的一个组件

    (2)好处

    将逻辑与显示相分离,数据直接从java代码中获取,复杂的业务逻辑在java代码中而不是交给视图层

    提高开发效率:节省了代码的编译次数(jsp页面需要转换为servlet后才能执行)

    有利于开发的分工:前端人员只需关注页面的设计不用关心业务逻辑的实现,同样,后端开发人员书写业务逻辑提供数据

    (3)缺点

    数据在更新后需要及时更新模板,否则可能会看到过期数据

    FreeMarker中的变量必须要赋值,如果不赋值,那么就会抛出异常,可以用if/elseif/else 指令进行判断,但是又会增加代码的复杂程度

    ,FreeMarker的map限定key必须是string,其他数据类型无法操作

  • 相关阅读:
    django 模板继承
    redis集群环境配置
    压力测试工具:apache bench(ab)
    php yield关键字以及协程的实现
    php图片木马实现原理
    关于接口幂等性
    关于easyswoole实现websocket聊天室的步骤解析
    php混淆加密解密实战
    关于mysql集群主从服务器搭建
    mysql binlog恢复数据实战
  • 原文地址:https://www.cnblogs.com/zhai1997/p/13511698.html
Copyright © 2011-2022 走看看