天天看点

模板引擎快速入门【合集】模板引擎快速入门【合集】

模板引擎快速入门【合集】

1 模板引擎概述

模板引擎:模型+数据=输出

早期我们采用的jsp技术就是一种模板引擎技术,如下图:
模板引擎快速入门【合集】模板引擎快速入门【合集】

模板引擎工作过程:

1、浏览器请求web服务器

2、服务器渲染页面,渲染的过程就是向jsp页面(模板)内填充数据(模型)。

3、服务器将渲染生成的页面返回给浏览器。

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

常用的java模板引擎还有哪些?

Jsp、Freemarker、Thymeleaf 、Velocity 等。

本文章采用Freemarker作为模板引擎技术。

Freemarker官方地址:http://freemarker.foofun.cn/

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

2 Freemarker快速入门

2.1 导入依赖

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

2.2 静态模板页编写

在resources页面下,创建template目录,并创建

test.ftl

模板页面
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Hello World!</title>
</head>
<body>
Hello ${name}!
</body>
</html>
           

2.3 application.yml编写

server:
  port: 8080
  # 为每个controller设置统一访问路径
#  servlet:
#    context-path: /content
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文件夹下的资源)
           

2.4 Controller编写

注意:因为是要返回视图而不是json数据,因此需要使用

@Controller

,而不是@RestController
@Controller
public class FreeMarkController {

    @GetMapping("/testFreeMark")
    public ModelAndView test(){
        ModelAndView modelAndView = new ModelAndView();
        //设置视图名称:resources/templates目录下的test.ftl
        modelAndView.setViewName("test");
        //设置模型数据
        modelAndView.addObject("name", "jack");
        return modelAndView;
    }
}
           
浏览器中输入访问路径:

localhost:8080/freeMark

结果:

模板引擎快速入门【合集】模板引擎快速入门【合集】

查看页面源代码:

模板引擎快速入门【合集】模板引擎快速入门【合集】