MVC

MVC 简介

M:Model 模型

V:View 视图

C:Controller 控制器

MVC 是在表述层开发中运用的一种设计理念。主张把 封装数据的 (模型)显示用户界面的 (视图)协调调度的 (控制器) 分开。

好处:

  • 进一步实现各个组件之间的解耦
  • 让各个组件可以单独维护
  • 将视图分离出来以后,我们后端工程师和前端工程师的对接更方便

MVC 和三层架构之间关系

MVC和三层架构之间关系

Thymeleaf 简介

Thymeleaf 的概念

Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。类似 JSP,Velocity,FreeMaker 等, 它也可以轻易的与 Spring MVC 等 Web 框架进行集成作为 Web 应用的模板引擎。它的主要作用是在静态页面上渲染显示动态数据。

Thymeleaf 的优势

  • SpringBoot 官方推荐使用的视图模板技术,和 SpringBoot 完美整合。

  • 不经过服务器运算仍然可以直接查看原始值,对前端工程师更友好。

视图前缀和视图后缀

在 Servlet 中,将请求转发到一个 HTML 页面文件时,使用的完整的转发路径就是物理视图。

物理视图 = 视图前缀 + 逻辑视图 + 视图后缀

物理视图 视图前缀 逻辑视图 视图后缀
/pages/user/login.html /pages/user/ login .html

Thymeleaf 基础语法

th 名称空间

1
2
<!-- 为了让thymeleaf渲染的代码有提示,所以添加一个名称空间 -->
<html lang="en" xmlns:th="http://www.thymeleaf.org">

标准表达式语法

  • 简单的表达式

    • 变量表达式:${…}
    • 选择变量表达式:***{…}**
    • 消息表达:#{…}
    • 链接 URL 表达式:@{…}
    • 片段表达式:~{…}
  • 字面值

    • 文本:‘one text’, ‘Another one!’,…
    • 数字:0, 34, 3.0, 12.3,…
    • 布尔:true,false
    • 空:null
    • Literal tokens:one, sometext, main,…
  • 文本操作

    • 字符串拼接:+
    • 文字替换:|The name is ${name}|
  • 算术运算

    • 二元运算符:**+, -, , /,%*
    • 负号(一元运算符):-
  • 布尔运算

    • 二元运算符:and , or
    • 布尔否定(一元运算符): ! , not
  • 比较和判等

    • 比较:> , < , >= , <= ( gt , lt , ge , le )
    • 相等运算符:== , != ( eq , ne )
  • 条件运算符

    • If-then:( if ) ? ( then )
    • If-then-else:( if ) ? ( then ) : ( else )
    • Default:( value ) ?: ( defaultvalue )
  • Special tokens

    • No-Operation:** _**