news 2026/6/9 19:52:41

简单的Java模板Thymeleaf使用案例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
简单的Java模板Thymeleaf使用案例

一、背景

Thymeleaf模板是Java的一种动态页面模板框架。

作用:类似JSP页面。

二、项目使用Thymeleaf框架需要的依赖

需要attoparser、javassist、ognl、thymeleaf、unbescape、slf4j等依赖。

适合Maven引入:

<dependency> <groupId>org.thymeleaf</groupId> <artifactId>thymeleaf</artifactId> <version>3.1.3.RELEASE</version> </dependency>

普通的依赖下载链接:

https://github.com/thymeleaf/thymeleaf/releases/download/thymeleaf-3.1.0.RELEASE/thymeleaf-3.1.0.RELEASE-dist.zip

三、项目代码案例

(一)模板案例

在类路径下的 templates目录下有index.html文件模板,内容如下:

<!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>主页</title> </head> <body> 名字:<p th:text="${name}"></p> 消息:<p th:text="${message}"></p> </body> </html>

如图:

(二)测试代码

需要创建模板发现器、模板引擎、上下文对象。

代码如下:

import org.thymeleaf.TemplateEngine; import org.thymeleaf.context.Context; import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver; /** * @author * @version 1.0.0 * <p> * date: 2025/12/25 **/ public class Test { public static void main(String[] args) { // 1、定义类路径模版发现器 ClassLoaderTemplateResolver resolver = new ClassLoaderTemplateResolver(); // 设置模板文件的前缀路径 resolver.setPrefix("templates/"); // 设置模板文件的后缀名 resolver.setSuffix(".html"); // 设置模板模式为HTML resolver.setTemplateMode("HTML"); // 设置字符编码 resolver.setCharacterEncoding("UTF-8"); // 禁用模版缓冲 resolver.setCacheable(false); // 2、定义模版引擎 TemplateEngine engine = new TemplateEngine(); // 设置模板发现器 engine.setTemplateResolver(resolver); // 3、定义上下文路径 Context context = new Context(); context.setVariable("name", "小明"); context.setVariable("message", "执行成功"); // 4、处理模板,返回填充后的结果 String str = engine.process("index", context); // 5、打印结果 System.out.println("结果如下:"); System.out.println(str); } }

说明:前缀是"templates/",后缀是".html",模版名是"index",最终拼接的结果:"templates/index.html"。

执行结果如下:

四、其他说明

1、其他的模板发现器

ServletContextTemplateResolver 适合Servlet的模版发现

UrlTemplateResolver 适合网络URL的模板发现

FileTemplateResolver 适合文件路径的模板发现

2、其他的处理方法

输出处理结果到某个Writer对象,例如:"OutputStreamWriter类型对象"、"HttpServletResponse对象的getWriter()返回PrintWriter对象"。

void process(String template, IContext context, Writer writer)

3、其他的上下文对象

适合JavaWeb的上下文对象类:

WebContext(HttpServletRequest request, HttpServletResponse response, ServletContext servletContext)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/6 8:14:09

PowerToys中文版终极指南:5步快速提升Windows工作效率

PowerToys中文版终极指南&#xff1a;5步快速提升Windows工作效率 【免费下载链接】PowerToys-CN PowerToys Simplified Chinese Translation 微软增强工具箱 自制汉化 项目地址: https://gitcode.com/gh_mirrors/po/PowerToys-CN 还在为PowerToys英文界面而困扰&#x…

作者头像 李华
网站建设 2026/6/5 7:43:25

GPT-SoVITS在在线教育中的语音助教应用

GPT-SoVITS在在线教育中的语音助教应用 在如今的在线教育平台中&#xff0c;教师常常面临重复讲解、课件录制耗时、个性化教学难以覆盖等现实挑战。一个常见的场景是&#xff1a;一位数学老师需要为三个不同班级录制相同的“勾股定理”课程视频——内容完全一样&#xff0c;却要…

作者头像 李华
网站建设 2026/6/5 6:19:32

如何快速实现HTML到Figma的无缝转换:完整指南

HTML转Figma工具是一款革命性的Chrome扩展插件&#xff0c;能够将网页代码自动转换为Figma设计稿&#xff0c;极大地提升了设计开发的工作效率。这款工具通过智能解析DOM结构和CSS样式&#xff0c;实现从网页到设计稿的精准转换&#xff0c;为前端开发者和UI设计师搭建了高效的…

作者头像 李华
网站建设 2026/5/18 12:40:13

IPTV部署新选择:Docker一键安装iptvnator全攻略

IPTV部署新选择&#xff1a;Docker一键安装iptvnator全攻略 【免费下载链接】iptvnator 项目地址: https://gitcode.com/GitHub_Trending/ip/iptvnator 还在为复杂的IPTV配置而头疼&#xff1f;想要快速搭建属于自己的媒体中心却无从下手&#xff1f;今天就来介绍一个让…

作者头像 李华
网站建设 2026/5/24 2:17:17

西安交通大学学位论文LaTeX模板:从入门到精通的全方位指南

你是否正在为学位论文的格式要求而烦恼&#xff1f;是否觉得Word排版总是无法完美满足学校的要求&#xff1f;今天&#xff0c;我将为你详细介绍西安交通大学官方推出的LaTeX学位论文模板&#xff0c;帮助你轻松应对论文排版的挑战&#xff01;&#x1f680; 【免费下载链接】X…

作者头像 李华
网站建设 2026/6/4 6:35:18

深度剖析ARM架构启动代码:裸机开发全面讲解

深度拆解ARM启动代码&#xff1a;从复位到main的每一步都值得细究你有没有遇到过这样的情况——代码逻辑明明没问题&#xff0c;烧录进去后板子却“死”在启动阶段&#xff1f;LED不闪、串口无输出、调试器连不上……最终发现&#xff0c;问题出在那几十行看似简单的启动代码上…

作者头像 李华