当前位置: 首页 > 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做一个系统…...

关于区块链的安全和隐私

背景 区块链技术在近年来发展迅速&#xff0c;被认为是安全计算的突破&#xff0c;但其安全和隐私问题在不同应用中的部署仍处于争论焦点。 目的 对区块链的安全和隐私进行全面综述&#xff0c;帮助读者深入了解区块链的相关概念、属性、技术和系统。 结构 首先介绍区块链…...

特征工程——一门提高机器学习性能的艺术

当前围绕人工智能(AI)和机器学习(ML)展开的许多讨论以模型为中心&#xff0c;聚焦于 ML和深度学习(DL)的最新进展。这种模型优先的方法往往对用于训练这些模型的数据关注不足&#xff0c;甚至完全忽视。类似MLOps的领域正迅速发展&#xff0c;通过系统性地训练和利用ML模型&…...

Paper解读:工作场所人机协作的团队形成:促进组织变革的目标编程模型

人工智能&#xff08;AI&#xff09;具有降低运营成本、提高效率和改善客户体验的潜力。 因此&#xff0c;在组织中组建项目团队至关重要&#xff0c;这样他们就会在决策过程中欢迎人工智能。 当前的技术革命要求公司快速变革&#xff0c;并增加了对团队在促进创新采用方面的作…...

图文深入理解Oracle Network配置管理(一)

List item 本篇图文深入介绍Oracle Network配置管理。 Oracle Network概述 Oracle Net 服务 Oracle Net 监听程序 <oracle_home>/network/admin/listener.ora <oracle_home>/network/admin/sqlnet.ora建立网络连接 要建立客户机或中间层连接&#xff0c;Oracle…...

leetcode-链表篇3

leetcode-61 给你一个链表的头节点 head &#xff0c;旋转链表&#xff0c;将链表每个节点向右移动 k 个位置。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], k 2 输出&#xff1a;[4,5,1,2,3]示例 2&#xff1a; 输入&#xff1a;head [0,1,2], k 4 输出&#x…...

RAG(Retrieval Augmented Generation)及衍生框架:CRAG、Self-RAG与HyDe的深入探讨

近年来&#xff0c;随着大型语言模型&#xff08;LLMs&#xff09;的迅猛发展&#xff0c;我们在寻求更精确、更可靠的语言生成能力上取得了显著进展。其中&#xff0c;检索增强生成&#xff08;Retrieval-Augmented Generation&#xff09;作为一种创新方法&#xff0c;极大地…...

C语言介绍

什么是C语言 C programing language 能干什么 Hello world&#xff1f; 如何学C语言 no reading no learning...

损失函数篇 | YOLOv10 更换损失函数之 MPDIoU | 《2023 一种用于高效准确的边界框回归的损失函数》

论文地址:https://arxiv.org/pdf/2307.07662v1.pdf 边界框回归(Bounding Box Regression,BBR)在目标检测和实例分割中得到了广泛应用,是目标定位的重要步骤。然而,对于边界框回归的大多数现有损失函数来说,当预测的边界框与真值边界框具有相同的长宽比,但宽度和高度的…...

WMware安装WMware Tools(Linux~Ubuntu)

1、这里终端里面输入sudo apt upgrade用于更新最新的包 sudo apt upgrade 2、安装 open-vm-tools-desktop 包&#xff0c; Ps&#xff1a;这里是以为我已经安装好了。 udo apt install open-vm-tools-desktop -y3、最后重启就大功告成了 reboot 4、测试是否成功&#xff1a…...

SLAM ORB-SLAM2(30)关键帧跟踪

SLAM ORB-SLAM2(30)关键帧跟踪 1. 关键帧跟踪2. TrackReferenceKeyFrame2.1. 将当前普通帧的描述子转化为BoW向量2.2. 通过词袋BoW加速当前帧与参考帧之间的特征点匹配2.3. 将上一帧的位姿态作为当前帧位姿的初始值2.4. 通过优化3D-2D的重投影误差来获得位姿2.5. 剔除优化后的…...

华为网站建站/网上代写文章一般多少钱

之前编译的参数没有添加mysqli支持&#xff0c;因代码需要&#xff0c;必须添加上去。这次尝试一下扩展编译。 由于是源代码安装的&#xff0c;所以在php的目录bin下面有相关的命令。 到解压的源代码的ext目录下面&#xff0c;进入mysqli目录&#xff0c;执行/home/php/bin/php…...

wordpress 商品采集/专业精准网络营销推广

1&#xff1a;在dos下执行jar&#xff0c;根据入参和引用第三方jar的操作 测试类&#xff1a; 打成jar包&#xff1a;encryptPwdForCIP.jar 测试&#xff1a;目录结构如下 lib文件夹下放入jar&#xff1a; 在lib同路径下执行dos 命令&#xff1a; 解释命令&#xff1a;java -cp…...

常州市教育基本建设与装备管理中心网站/怎么做谷歌推广

ICS45U028补丁说明ICS45U028.inupdate是关于浪潮虚拟化软件InCloud Sphere 4.5旗舰版功能缺陷&#xff0c;此修补程序支持以下新的来宾操作系统的长期支持(LTS):操作系统32-bit64-bitOracle Linux 6.8支持支持Red Hat Enterprise Linux 6.8支持支持CentOS 6.8支持支持NeoKylin …...

一个新网站要怎么做seo/西部数码域名注册官网

jsp使用jdk8时&#xff0c;需要tomcat7以及以上版本&#xff0c;jsp在使用jdk7的时候&#xff0c;tomcat使用tomcat6即可...

商城网站建设行情/网络优化软件

基础数据类型什么是数据: x 10, 10是我们要存储的数据为什么分数据类型: 数据是用来表示状态的, 不同的状态就应该用不同的类型的数据去表示。数字 int数字主要用于计算用# bit_length() 当十进制用二进制表示时&#xff0c;最少使用的位数v 11data v.bit_length()print(dat…...

专业网站建设行业现状/微信引流被加软件

在开发我的网页时,我遇到了使用HTML5的getUserMedia的一些困难.这是我第一次尝试实现此功能来录制用户音频输入. Flash不是此项目的选项,因为它也必须在移动设备上使用.我来这里看看是否有人有经验并知道如何用getUserMedia实现HTML5以记录用户麦克风一段时间(用PHP中的会话完成…...