Freemarker入门

Author Avatar
ciky 09月 02,2024
  • 在其它设备中阅读本文章
  • 点击生成二维码

1 模板引擎


  • 模板+数据=输出,Jsp页面就是模板,页面中嵌入的jsp标签就是数据,两者相结合输出html网页。

image20240610122941079.png

  • 常用的java模板引擎:jsp,Freemarker,Thymeleaf,Velocity

2 快速入门Freemarker


(1) 添加Freemarker的maven依赖

<!-- Spring Boot 对结果视图 Freemarker 集成 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>

(2) 在nacos配置freemarker-config-dev.yaml

spring:
  freemarker:
    enabled: true
    cache: false   #关闭模板缓存,方便测试
    settings:
      template_update_delay: 0
    suffix: .ftl   #页面模板后缀名
    charset: UTF-8
    template-loader-path: classpath:/templates/   #页面模板位置(默认为 classpath:/templates/)
    resources:
      add-mappings: false   #关闭项目中的静态资源映射(static、resources文件夹下的资源)

(3) 创建目录文件

image20240610123916592.png

(4) 添加模板文件test.ftl(后缀由配置文件设置)

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Hello World!</title>
</head>
<body>
Hello ${cc}!
</body>
</html>

(5) 内容管理api的配置文件中导入freemarker配置文件

image20240610123701250.png

(6) 入门程序

@Controller
public class FreemarkerController {
    @GetMapping("/testfreemarker")
    public ModelAndView test(){
        ModelAndView modelAndView = new ModelAndView();
        //指定模型
        modelAndView.addObject("cc","小明");
        //指定模板
        modelAndView.setViewName("test");   //根据视图名称+.ftl找到模板
        return modelAndView;
    }
}