• free marker /spring boot


    今天我们来学习一种新的网页模板 freemarker 

    认识free marker

    FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。

    它的优点

    • freemarker模板中不能使用java代码,有利于严格的mvc分离
    • 性能比较好
    • 内置了丰富的功能,使用方便
    • 可以在servlet容器外使用,模板不会被编译成class,不占用PermGen空间(从jdk8开始使用元空间)
    • 宏定义,方便功能的封装

    springboot整合freemarker

    1.导入free marker相关的包 

    1. <dependency>
    2. <groupId>org.springframework.bootgroupId>
    3. <artifactId>spring-boot-starter-webartifactId>
    4. dependency>
    5. <dependency>
    6. <groupId>org.springframework.bootgroupId>
    7. <artifactId>spring-boot-starter-freemarkerartifactId>
    8. dependency>

    2. 导入相关配置application.properties

    1. # ------------------------freemarker B --------------------------
    2. # 是否允许HttpServletRequest属性覆盖(隐藏)控制器生成的同名模型属性。
    3. spring.freemarker.allow-request-override=false
    4. # 是否允许HttpSession属性覆盖(隐藏)控制器生成的同名模型属性。
    5. spring.freemarker.allow-session-override=false
    6. # 是否启用模板缓存。
    7. spring.freemarker.cache=false
    8. # 模板编码。
    9. spring.freemarker.charset=UTF-8
    10. # 是否检查模板位置是否存在。
    11. spring.freemarker.check-template-location=true
    12. # Content-Type value.
    13. spring.freemarker.content-type=text/html
    14. # 是否启用freemarker
    15. spring.freemarker.enabled=true
    16. # 设定所有request的属性在merge到模板的时候,是否要都添加到model中.
    17. spring.freemarker.expose-request-attributes=false
    18. # 是否在merge模板的时候,将HttpSession属性都添加到model中
    19. spring.freemarker.expose-session-attributes=false
    20. # 设定是否以springMacroRequestContext的形式暴露RequestContext给Spring’s macro library使用
    21. spring.freemarker.expose-spring-macro-helpers=true
    22. # 是否优先从文件系统加载template,以支持热加载,默认为true
    23. spring.freemarker.prefer-file-system-access=true
    24. # 设定模板的后缀.
    25. spring.freemarker.suffix=.ftl
    26. # 设定模板的加载路径,多个以逗号分隔,默认:
    27. spring.freemarker.template-loader-path=classpath:/templates/
    28. # 设定FreeMarker keys.
    29. spring.freemarker.settings.template_update_delay=0
  • 相关阅读:
    Ubuntu22.04防火墙ufw用法
    归并排序 刷题笔记
    【无标题】
    Vue——计算属性(计算属性简介、计算属性和方法的区别:(面试)、关于计算属性 函数什么情况下调用、案例)
    IDEA 关闭SpringBoot启动Logo/图标
    Cocos Creator3.8 项目实战(六)Combobox控件的实现和使用
    谷歌翻译不用代理可用的免费api python版本亲测可用
    STM32cubeMX详细教学及多个小项目合集(包含RTOS)
    【springcloud系列】nacos服务注册实现
    EasyExcel的简单读取操作
  • 原文地址:https://blog.csdn.net/weixin_67150631/article/details/127840284