zoukankan      html  css  js  c++  java
  • Spring Boot 集成 thymeleaf 模版引擎

    Spring Boot 建议使用 HTML 来完成动态页面。Spring Boot 提供了大量的模版引擎,包括 Thymeleaf、FreeMarker、Velocity等。

    Spring Boot 官方推荐使用 Thymeleaf 模版引擎来完成动态页面,并且为 Thymeleaf 提供了完美的 Spring MVC 的支持,Thymeleaf模版引擎可以支持纯 HTML 浏览器展现。

    Thymeleaf 概述

    Thymeleaf 是面向Web和独立环境的现代服务器端Java模版引擎,能够处理HTML、XML、JavaScript、CSS甚至纯文本,可以作为 MVC Web 应用层的 View 层显示数据。

    Thymeleaf 标准语言中的大多数处理器都是属性处理器。这样,即使在模版未被处理前,浏览器也可以正确的显示 HTML 模版文件,因为浏览器将简单地忽略其不识别的属性。例如,像下面这段JSP模版的代码片段就不能在模版被解析之前通过浏览器直接显示。

    <form:inuptText name="username" value="${user.username}">
    然而 Thymeleaf 标准方言将允许实现与上述代码相同的功能。

    <input type="text" name="username" value="java" th:value="${user.username}">
    

    浏览器不仅可以正常显示这些信息,而且还可以在浏览器中静态打开时显示一个默认的值,在模版处理期间由 ${user.username}的值代替value的默认值。这样有助于设计师和开发人员处理相同的模版文件,并减少将静态原型转换为工作模版文件所需的工作量。具备这种能力的模版被称为自然模版。

    Thymeleaf 基础语法

    首先要改写html标签
    <html xmlns:th="http://www.thymeleaf.org">
    这样才可以在其他标签里面使用th:*这样的语法。
    通过xmlns:th="http://www.thymeleaf.org"命名空间,引入 Thymeleaf 模版引擎,将静态页面转换为动态页面。需要进行动态处理的元素都使用 th: 为前缀。

    引入URL

    Thymeleaf 对于 URL 的处理是通过语法 @{...} 来处理。

    <a th:href="@{http://google.com}">绝对路径</a>
    <a th:href="@{/}">相对路径</a>
    <a th:href="@{css/bootstrap.min.css}">Content 路径,默认访问 static 下的 css 文件夹</a>
    

    表达式

    由一些专门的表达式,用来从模版中的 WebContext 获取请求参数、请求、会话和应用程序中的属性。

    ${x} 将返回存储在 Thymeleaf 上下文中的变量 x 或请求 Request 作用域中的属性。

    ${param.x}将返回一个名为x的请求参数

    ${session.x}将返回一个名为x的会话 HttpSession 作用域中的属性。

    ${application.x}将返回一个名为x的全局 ServletContext 上下文作用域中的属性。

    获取变量使用 $ 符号,$表达式只能写在 th 标签内部,否则不会生效。

  • 相关阅读:
    从上往下打印二叉树
    栈的压入、弹出序列
    连续子数组的最大和
    链表中环形的入口
    1月项目痛点
    problem:vue组件局部刷新,在组件销毁(destroyed)时取消刷新无效问题
    重点:浏览器的工作原理
    12月中旬项目中出现的几个bug解决方法的思考
    12月中项目问题复盘之对项目进度把控的反思
    problem: vue之数组元素中的数组类型值数据改变却无法在子组件视图更新问题
  • 原文地址:https://www.cnblogs.com/dowhile/p/Spring-Boot-ji-cheng-thymeleaf-mo-ban-yin-qing.html
Copyright © 2011-2022 走看看