博客
关于我
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/

    你可能感兴趣的文章
    nodejs与javascript中的aes加密
    查看>>
    nodejs中Express 路由统一设置缓存的小技巧
    查看>>
    nodejs中express的使用
    查看>>
    Nodejs中的fs模块的使用
    查看>>
    NodeJS使用淘宝npm镜像站的各种姿势
    查看>>
    nodejs包管理工具对比:npm、Yarn、cnpm、npx
    查看>>
    NodeJs单元测试之 API性能测试
    查看>>
    nodejs图片转换字节保存
    查看>>
    nodejs在Liunx上的部署生产方式-PM2
    查看>>
    nodejs字符与字节之间的转换
    查看>>
    NodeJs学习笔记001--npm换源
    查看>>
    NodeJs学习笔记002--npm常用命令详解
    查看>>
    nodejs学习笔记一——nodejs安装
    查看>>
    NodeJS实现跨域的方法( 4种 )
    查看>>
    nodejs封装http请求
    查看>>
    nodejs常用组件
    查看>>
    nodejs开发公众号报错 40164,白名单配置找不到,竟然是这个原因
    查看>>
    Nodejs异步回调的处理方法总结
    查看>>
    NodeJS报错 Fatal error: ENOSPC: System limit for number of file watchers reached, watch ‘...path...‘
    查看>>
    Nodejs教程09:实现一个带接口请求的简单服务器
    查看>>