Spring Boot的Web开发之Thymeleaf模板引擎的解析及使用(Thymeleaf的基础语法以及常用属性)

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: Spring Boot的Web开发之Thymeleaf模板引擎的解析及使用(Thymeleaf的基础语法以及常用属性)

在Spring Boot的Web应用中 建议开发者使用HTML完成动态页面 Spring Boot提供了许多模板引擎,因为Thymeleaf提供了完美的Spring MVC支持 所以在Spring Boot的Web应用中推荐使用Thymeledf作为模板引擎


Thymeleaf是一个Java类库 是一个XML/XHTML/HTML5的模板引擎,能够处理HTML XML JavaScript以及CSS可以作为MVC Web应用的view层显示数据


Spring Boot的的Thymeleaf支持


1:创建Spring Strater Project


选择菜单 File-New-Spring Strater Project 打开后 输入信息后单击Next


2:选择依赖

1666444611880.jpg

3:创建控制器类


创建一个名为com.ch.ch5_1的包 然后创建控制类 代码如下

package com.ch.ch5_1.controller;
import org.springframework.stereotype.Controller;
@Controller
public class TestThymeleafController {
@RequestMapping("/")
  public String test() {
  return "index";
  }
}


4:新建index.html页面 代码如下

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
测试Spring Boot的Thymeleaf支持
</body>
</html>


然后运行主类即可


Thymeleaf基础语法


1:引入Thymeleaf


首先将View层页面文件的html标签修改如下


<html xmlns:th="http://www.thymeleaf.org">


然后 在View层页面文件的其他标签里 使用th:*动态处理页面


<img th:src="'image/'+${aBook.picture}"/>


2:输出内容


<p th:text="#{test.myText}:></p>  不对HTML标签解析


<p th:utext="#{test,ntText}"></p> 对HTML标签解析


3:基本表达式


变量表达式:¥{...}


变量表达式用于访问容器上下文环境中的变量

<span th:text="${information}">


选择变量表达式:*{...}


选择变量表达式计算的是选定的对象

name<span th:text="*{firstName}"></span><br>


信息表达式:#{...}


信息表达式一般用于显示页面静态文本 将可能需要根据需求而整体变动的静态文本放在一起以便维护

<p th:text="${test.myText}"></p>


4:引入URL


Thymeleaf通过模块@{...}表达式引入URL

<a th:href="@{http://www.tup..tsinghua.edu.cn/index.html{param1='传参')}">去清华大学出版社</a>


5:访问WebContext对象中的属性


Thymeleaf模板通过一些专门的表达式从模板的WebContext获取请求参数 部分如下

${xxx}将返回存储在的变量或者属性
${param.xxx}返回一个名为xxx的请求参数
${session.xxx}返回一个名为xxx的HttpSession作用域中的属性


6:运算符


同Java


7:条件判断


if 只有在条件成立时才显示标签内容

unless 只有在条件不成立时才显示标签内容

switch 支持多路选择 defalut用*表示


8:循环


Thymeleaf模板使用th:each="obj,iterStat:${objList}"标签进行迭代循环


9:内置对象


内置对象一般都以s结尾 可以通过#直接访问 如下图

1666444762367.jpg

Thymeleaf的常用属性


Thymeleaf语法的使用都是通过在html页面的标签中添加th:xxx关键字来实现模板套用 并且其属性与html页面标签基本类似 常用属性有以下几种


1:th:action

th:action定义后台控制器路径 类似于action属性
<form th:action="@{/login}...</form>


2:th:each

用于集合对象遍历 功能类似于JSTL标签的foreach
th:each="gtype:${gtypes}">


3:th:field

用于表单参数绑定 通常于th:object一起使用
<input type="text"value="" th:field="*{username}"></input>


4:th:href

用于定义超链接
<a th:href="@{/gogo}"></a>


5:th:id

用于id的声明
<div th:id="stu+(${rowStat.index}+1)"></div>


6:th:if

用于条件判断
<div th:if="${rowStat.index}==0"> dosomething</div>


7:th:fragment


声明定义该属性的div为模板片段 常用于头文件


8:th:object


用于表单数据对象绑定 将表单绑定到后台controller的一个JavaBean参数 经常与th:field一起使用 进行表单数据绑定


9:th:onclick

用于修改单击事件 代码如下
<button th:onclick="'getCollect()':></button>



相关文章
|
23天前
|
监控 Java 应用服务中间件
SpringBoot是如何简化Spring开发的,以及SpringBoot的特性以及源码分析
Spring Boot 通过简化配置、自动配置和嵌入式服务器等特性,大大简化了 Spring 应用的开发过程。它通过提供一系列 `starter` 依赖和开箱即用的默认配置,使开发者能够更专注于业务逻辑而非繁琐的配置。Spring Boot 的自动配置机制和强大的 Actuator 功能进一步提升了开发效率和应用的可维护性。通过对其源码的分析,可以更深入地理解其内部工作机制,从而更好地利用其特性进行开发。
42 6
|
1月前
|
人工智能 Java API
阿里云工程师跟通义灵码结伴编程, 用Spring AI Alibaba来开发 AI 答疑助手
本次分享的主题是阿里云工程师跟通义灵码结伴编程, 用Spring AI Alibaba来开发 AI 答疑助手,由阿里云两位工程师分享。
阿里云工程师跟通义灵码结伴编程, 用Spring AI Alibaba来开发 AI 答疑助手
|
2月前
|
人工智能 前端开发 Java
Spring AI Alibaba + 通义千问,开发AI应用如此简单!!!
本文介绍了如何使用Spring AI Alibaba开发一个简单的AI对话应用。通过引入`spring-ai-alibaba-starter`依赖和配置API密钥,结合Spring Boot项目,只需几行代码即可实现与AI模型的交互。具体步骤包括创建Spring Boot项目、编写Controller处理对话请求以及前端页面展示对话内容。此外,文章还介绍了如何通过添加对话记忆功能,使AI能够理解上下文并进行连贯对话。最后,总结了Spring AI为Java开发者带来的便利,简化了AI应用的开发流程。
909 0
|
1月前
|
监控 JavaScript 数据可视化
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
|
2月前
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
103 6
Spring Boot 入门:简化 Java Web 开发的强大工具
|
2月前
|
XML JSON Java
Spring Boot 开发中常见的错误
本文总结了 Java 开发中常见的几个问题及其改进方法,包括:1. 过度使用 `@Component` 注解;2. `@ResponseBody` 注解的错误用法;3. `@Autowired` 的不当使用;4. `application.properties` 管理不善;5. 异常处理不当。每部分详细解释了错误情况和建议的改进方案,并提供了相应的代码示例。
69 11
|
2月前
|
IDE Java 测试技术
互联网应用主流框架整合之Spring Boot开发
通过本文的介绍,我们详细探讨了Spring Boot开发的核心概念和实践方法,包括项目结构、数据访问层、服务层、控制层、配置管理、单元测试以及部署与运行。Spring Boot通过简化配置和强大的生态系统,使得互联网应用的开发更加高效和可靠。希望本文能够帮助开发者快速掌握Spring Boot,并在实际项目中灵活应用。
80 5
|
2月前
|
前端开发 Java 开发者
这款免费 IDEA 插件让你开发 Spring 程序更简单
Feign-Helper 是一款支持 Spring 框架的 IDEA 免费插件,提供 URL 快速搜索、Spring Web Controller 路径一键复制及 Feign 与 Controller 接口互相导航等功能,极大提升了开发效率。
|
3月前
|
前端开发 JavaScript Java
如何使用 Spring Boot 和 Angular 开发全栈应用程序:全面指南
如何使用 Spring Boot 和 Angular 开发全栈应用程序:全面指南
75 1
|
3月前
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
79 2

热门文章

最新文章

推荐镜像

更多