当前位置: 首页 > news >正文

Thymeleaf基础语法

Thymeleaf 是一种用于 Web 和非 Web 环境的现代服务器端 Java 模板引擎。它能够处理 HTML、XML、JavaScript、CSS 甚至纯文本。以下是 Thymeleaf 的一些基础语法:

1. 变量表达式

<!-- 显示变量的值 -->
<p th:text="${name}">Default Name</p>

2. 选择变量表达式

<!-- 选择变量的值,如果没有选择到则显示默认值 -->
<p th:text="${name?:'Default Name'}">Default Name</p>

3. 消息表达式

<!-- 显示国际化的消息 -->
<p th:text="#{welcome}">Welcome to our site!</p>

4. 链接 URL 表达式

<!-- 创建链接 -->
<a th:href="@{/hello(name=${name})}">Hello Link</a>

5. 消息参数

<!-- 显示带有参数的消息 -->
<p th:text="#{greeting(hello=${name},number=${age})}">Hi, John!</p>

6. 条件表达式

<!-- 条件判断 -->
<div th:if="${age > 18}">Old Enough</div>
<div th:unless="${age > 18}">Too young</div>

7. 循环

<!-- 迭代列表 -->
<ul><li th:each="user : ${users}" th:text="${user.name}">John Doe</li>
</ul>

8. 属性表达式

<!-- 设置属性值 -->
<img th:src="@{/image/{filename}(filename=${user.profilePic})}" alt="Profile Picture">

9. 文本块

<!-- 内联文本块 -->
<div th:utext="'Hello, ' + ${name} + '!'">Hello, John!</div>

10. 选择块

<!-- 根据条件选择不同的块 -->
<div th:switch="${user.role}"><p th:case="'admin'">Admin User</p><p th:case="'guest'">Guest User</p><p th:case="*">Regular User</p>
</div>

11. 片段

<!-- 定义片段 -->
<div th:fragment="copy">&copy; 2024</div><!-- 插入片段 -->
<div th:insert="footer :: copy">Footer Content</div>

12. 包含

<!-- 包含其他模板 -->
<head th:include="header :: head"></head>

13. 表达式方法

<!-- 调用自定义的表达式方法 -->
<p th:text="${#dates.format(#dates.createNow(),'yyyy-MM-dd')}">Today's Date</p>

14. 服务器端跳转

<!-- 重定向 -->
<div th:action="@{/home}">Home Page</div>

15. 内联表达式

<!-- 在 HTML 属性中使用内联表达式 -->
<input type="text" th:field="*{name}" />

Thymeleaf 的语法非常灵活,可以与 HTML 很好地集成,使得在模板中嵌入动态内容变得非常简单。

相关文章:

Thymeleaf基础语法

Thymeleaf 是一种用于 Web 和非 Web 环境的现代服务器端 Java 模板引擎。它能够处理 HTML、XML、JavaScript、CSS 甚至纯文本。以下是 Thymeleaf 的一些基础语法&#xff1a; 1. 变量表达式 <!-- 显示变量的值 --> <p th:text"${name}">Default Name&l…...

spring cloud alibaba学习路线

以下是一条学习Spring Cloud Alibaba的路线&#xff1a; 一、基础前置知识 1. Java基础 熟练掌握Java语言特性&#xff0c;包括面向对象编程、集合框架、多线程等知识。 2. Spring和Spring Boot基础深入理解Spring框架&#xff0c;如依赖注入&#xff08;DI&#xff09;、控…...

基于 Seq2Seq 的中英文翻译项目(pytorch)

项目简介 本项目旨在使用 PyTorch 构建一个基于 Seq2Seq(编码器-解码器架构)的中英文翻译模型。我们将使用双语句子对的数据进行训练,最终实现一个能够将英文句子翻译为中文的模型。项目的主要步骤包括: 数据预处理:从数据集中提取英文和中文句子,并进行初步清洗和保存。…...

部标主动安全(ADAS+DMS)对接说明

1.前言 上一篇介绍了部标&#xff08;JT/T1078&#xff09;流媒体对接说明&#xff0c;这里说一下如何对接主动安全附件服务器。 流媒体的对接主要牵扯到4个方面&#xff1a; &#xff08;1&#xff09;平台端&#xff1a;业务端系统&#xff0c;包含前端呈现界面。 &#x…...

C++ STL(1)迭代器

文章目录 一、迭代器详解1、迭代器的定义与功能2、迭代器类型3、示例4、迭代器失效4.1、vector 迭代器失效分析4.2、list 迭代器失效分析4.3、set 与 map 迭代器失效分析 5、总结 前言&#xff1a; 在C标准模板库&#xff08;STL&#xff09;中&#xff0c;迭代器是一个核心概念…...

uview表单校验不生效问题

最近几次使用发现有时候会不生效&#xff0c;具体还没排查出来什么原因&#xff0c;先记录一下解决使用方法 <u--formlabelPosition"top"labelWidth"auto":model"form":rules"rules"ref"uForm" ><view class"…...

前端开发设计模式——单例模式

目录 一、单例模式的定义和特点&#xff1a; 1.定义&#xff1a; 2.特点&#xff1a; 二、单例模式的实现方式&#xff1a; 1.立即执行函数结合闭包实现&#xff1a; 2.ES6类实现&#xff1a; 三、单例模式的应用场景 1.全局状态管理&#xff1a; 2.日志记录器&#xff1a; …...

行情叠加量化,占据市场先机!

A股久违的3000点&#xff0c;最近都没有更新&#xff0c;现在终于对我们的市场又来点信息。相信在座的朋友这几天都是喜笑颜开&#xff0c;对A股又充满信心。当前行情好起来了&#xff0c;很多朋友又开始重回市场&#xff0c;研究股票学习量化&#xff0c;今天我们给大家重温下…...

大厂面试真题-ConcurrentHashMap怎么保证的线程安全?

ConcurrentHashMap是Java中的一个线程安全的哈希表实现&#xff0c;它通过一系列精妙的机制来保证线程安全。以下是ConcurrentHashMap保证线程安全的主要方式&#xff1a; 分段锁&#xff08;Segment Locking&#xff0c;Java 1.8之前&#xff09;&#xff1a; 在Java 1.8之前的…...

【RabbitMQ】消息堆积、推拉模式

消息堆积 原因 消息堆积是指在消息队列中&#xff0c;待处理的消息数量超过了消费者处理能力&#xff0c;导致消息在队列中不断堆积的现象。通常有以下几种原因&#xff1a; 消息生产过快&#xff1a;在高流量或者高负载的情况下&#xff0c;生产者以极高的速率发送消息&…...

MySQL常用SQL语句(持续更新中)

文章目录 数据库相关表相关索引相关添加索引 编码相关系统变量相关 收录一些经常用到的sql 数据库相关 建数据库 CREATE DATABASE [IF NOT EXISTS] <数据库名> [[DEFAULT] CHARACTER SET <字符集名>] [[DEFAULT] COLLATE <校对规则名>];例如&#xff1a; C…...

【更新】红色文化之红色博物馆数据集(经纬度+地址)

数据简介&#xff1a;红色博物馆作为国家红色文化传承与爱国主义教育的重要基地&#xff0c;遍布全国各地&#xff0c;承载着丰富的革命历史与文化记忆。本数据说明旨在汇总并分析全国范围内具有代表性的红色博物馆的基本信息&#xff0c;包括其地址、特色及教育意义&#xff0…...

Python项目Flask框架整合Redis

一、在配置文件中创建Redis连接信息 二、 实现Redis配置类 import redis from config.config import REDIS_HOST, REDIS_PORT, REDIS_PASSWD, REDIS_DB, EXPIRE_TIMEclass RedisDb():def __init__(self, REDIS_HOST, REDIS_PORT, REDIS_DB, EXPIRE_TIME, REDIS_PASSWD):# 建立…...

完整网络模型训练(一)

文章目录 一、网络模型的搭建二、网络模型正确性检验三、创建网络函数 一、网络模型的搭建 以CIFAR10数据集作为训练例子 准备数据集&#xff1a; #因为CIFAR10是属于PRL的数据集&#xff0c;所以需要转化成tensor数据集 train_data torchvision.datasets.CIFAR10(root&quo…...

高效便捷,体验不一样的韩语翻译神器

嘿&#xff0c;大家好啊&#xff01;今天想跟大家聊聊我用过的几款翻译神器&#xff0c;特别是它们在翻译韩语时的那些小感受。作为一个偶尔需要啃啃韩语资料或者跟韩国朋友聊天的普通人&#xff0c;我真心觉得这些翻译工具简直就是我的救星&#xff01; 一、福昕在线翻译 网址…...

Markdown笔记管理工具Haptic

什么是 Haptic &#xff1f; Haptic 是一个新的本地优先、注重隐私的开源 Markdown 笔记管理工具。它简约、轻量、高效&#xff0c;旨在提供您所需的一切&#xff0c;而不包含多余的功能。 目前官方提供了 docker 和 Mac 客户端。 Haptic 仍在积极开发中。以下是未来计划的一些…...

网络原理-传输层UDP

上集回顾&#xff1a; 上一篇博客中讲述了应用层如何自定义协议&#xff1a;确定传输信息&#xff0c;确定数据格式 应用层也有一些现成的协议&#xff1a;HTTP协议 这一篇博客中来讲述传输层协议 传输层 socket api都是传输层协议提供的&#xff08;操作系统内核实现的了…...

C++中,如何使你设计的迭代器被标准算法库所支持。

iterator&#xff08;读写迭代器&#xff09; const_iterator&#xff08;只读迭代器&#xff09; reverse_iterator&#xff08;反向读写迭代器&#xff09; const_reverse_iterator&#xff08;反向只读迭代器&#xff09; 以经常介绍的_DList类为例&#xff0c;它的迭代…...

Java NIO 全面详解:掌握 `Path` 和 `Files` 的一切

在 Java 7 中引入的 NIO (New I/O) 为文件系统和流的操作带来了强大的能力&#xff0c;其中 Path 和 Files 是核心部分。Path 作为对文件路径的抽象&#xff0c;提供了灵活的方式处理文件系统中的路径&#xff1b;Files 则通过一系列静态方法&#xff0c;使得文件的读写、复制、…...

bluez免提协议hands-free介绍,全到无法想象,bluez hfp ag介绍

零. 前言 由于Bluez的介绍文档有限,以及对Linux 系统/驱动概念、D-Bus 通信和蓝牙协议都有要求,加上网络上其实没有一个完整的介绍Bluez系列的文档,所以不管是蓝牙初学者还是蓝牙从业人员,都有不小的难度,学习曲线也相对较陡,所以我有了这个想法,专门对Bluez做一个系统…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销&#xff0c;平衡网络负载&#xff0c;延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

Admin.Net中的消息通信SignalR解释

定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 笔者写过很多次这道题了&#xff0c;不想写题解了&#xff0c;大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施&#xff0c;由雇主和个人按一定比例缴纳保险费&#xff0c;建立社会医疗保险基金&#xff0c;支付雇员医疗费用的一种医疗保险制度&#xff0c; 它是促进社会文明和进步的…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

【磁盘】每天掌握一个Linux命令 - iostat

目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat&#xff08;I/O Statistics&#xff09;是Linux系统下用于监视系统输入输出设备和CPU使…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代&#xff0c;情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现&#xff0c;消费者对内容的“有感”程度&#xff0c;正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module

1、为什么要修改 CONNECT 报文&#xff1f; 多租户隔离&#xff1a;自动为接入设备追加租户前缀&#xff0c;后端按 ClientID 拆分队列。零代码鉴权&#xff1a;将入站用户名替换为 OAuth Access-Token&#xff0c;后端 Broker 统一校验。灰度发布&#xff1a;根据 IP/地理位写…...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天&#xff0c;Spring AI 作为 Spring 生态系统的新生力量&#xff0c;正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务&#xff08;如 OpenAI、Anthropic&#xff09;的无缝对接&…...

C# SqlSugar:依赖注入与仓储模式实践

C# SqlSugar&#xff1a;依赖注入与仓储模式实践 在 C# 的应用开发中&#xff0c;数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护&#xff0c;许多开发者会选择成熟的 ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;SqlSugar 就是其中备受…...