博客
关于我
FreeMarker开发总结
阅读量:557 次
发布时间:2019-03-09

本文共 1525 字,大约阅读时间需要 5 分钟。

FreeMarker技术总结

FreeMarker的定义

FreeMarker 是一个基于Java的免费开源模板引擎,专注于文本模板输出,提供丰富的表达式支持和自定义功能。它能够将后端准备好的数据通过模板引擎的表达式在前端页面展示,常用于生成复杂样式的HTML网页或导出Excel文件。

FreeMarker的工作原理

FreeMarker 的工作原理简单明了。它通过模板文件定义数据的呈现方式,将后端数据与模板结合,生成最终的输出文件。用户可以通过定义丰富的表达式来实现对数据的格式化和布局设计。

Spring Boot项目中的FreeMarker配置

在Spring Boot项目中使用FreeMarker进行渲染,需要完成以下几个步骤:

  • 在项目的 pom.xml 中添加FreeMarker的依赖età
  • org.springframework.boot
    spring-boot-starter-freemarker
    1. 在 application.properties 文件中配置FreeMarker的相关设置:
    2. spring.freemarker.cache=falsespring.freemarker.suffix=.ftlspring.freemarker.template-loader-path=classpath:/templatesspring.freemarker.content-type=text/html; charset=utf-8spring.freemarker.settings=number_format=0

      常用FreeMarker方法

      在实际使用过程中,FreeMarker 提供了丰富的表达式和标签,可以帮助开发者高效实现数据的显示和格式化。以下是一些常用的方法示例:

    3. 获取元素值
    4. <#if msg?="">    <# ridiculer_gmtLegend>        ${msg}    
      1. 获取Map中的值
      2. ${map["name"]}
        1. 循环输出List数据
        2. <#if students?exists and students?size gt 0>    <#list students as student>        ${student.name} - ${student.age} - ${student.sex}    
          1. 条件判断
          2. <#if type == 1>    类型:1
            <#elseif type == 2> 类型:2
            <#else> 类型:其它
            1. 获取Session中的值
            2. <#if Session["userId"]?exists>    用户ID:${Session["userId"]}
              1. 格式化时间
              2. // 输出时间格式为:2020-05-09 13:59:32${createTime?string('yyyy-MM-dd hh:mm:ss')}
                1. 导入公共模板
                2. <#include "right.ftl"/>

                  常见问题与注意事项

                3. 空错误处理:FreeMarker 在表达式中遇到空值时会报错,因此在使用时需要先进行空判断。
                4. 缓存问题:默认情况下,FreeMarker 会缓存模板渲染结果,建议在开发环境中关闭缓存。
                5. 数据格式化:需要谨慎处理大数值的格式化,避免出现不可预期的显示结果。
                6. 通过以上方法和配置,可以充分发挥FreeMarker 的强大功能,在项目开发中提高效率和代码质量。

    转载地址:http://btdpz.baihongyu.com/

    你可能感兴趣的文章
    PLSQL中INDEX BY TABLE的 DELETE操作
    查看>>
    plsql学习笔记---plsql相关概念,以及基础结构
    查看>>
    plsql数据库异常---plsql 登录后,提示数据库字符集(AL32UTF8)和客户端字符集(ZHS16GBK)不一致
    查看>>
    plsql查询乱码问题解决
    查看>>
    PLSQL的DBMS_GETLINE
    查看>>
    quartz简单demo,教你最快使用quartz
    查看>>
    PlutoSDR学习笔记(一)—函数API手册
    查看>>
    Quartz安装包中的15个example
    查看>>
    Quartz学习总结(2)——定时任务框架Quartz详解
    查看>>
    pm2 start命令中的json格式详解
    查看>>
    pm2启动报错
    查看>>
    pm2通过配置文件部署nodejs代码到服务器
    查看>>
    Unknown character set: 'utf8mb4'
    查看>>
    PML调用PDMS内核命令研究
    查看>>
    PMM安装-第一篇
    查看>>
    PMP知识要点(第九章)
    查看>>
    PNETLab 镜像包官方下载太慢?不急,最新版本PNET_4.2.10分享!
    查看>>
    pnpm 如何安装指定版本
    查看>>
    pnpm的设计与npm的对比
    查看>>
    POCO库中文编程参考指南(4)Poco::Net::IPAddress
    查看>>