Spring boot 集成thymeleaf

Spring boot 集成thymeleaf

背景

自己通过Spring boot集成通义千问实现了一个智能问答系统。Spring boot集成通义千问已经完成,现在需要做一个简单的页面展示,作为一个八年没有摸过前端的后端开发人员,不得不又拿起了html和thymeleaf。

Spring boot 集成web和thymeleaf

Spring boot使用thymeleaf开发前端页面,首先Spring boot得是个web项目,也就是需要集成web功能,然后就需要支持thymeleaf。‘

第一步添加依赖
       <!--spring boot 对web的支持--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--Spring boot 对thymeleaf的支持--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><!--Spring boot对lombok的支持--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency>

Spring boot添加了这两个依赖之后,就具备了thymeleaf的web能力了。

第二步验证thymeleaf

添加完依赖,我需要写个controller实验一下,代码如下

@Controller
@RequestMapping("demo")
@Slf4j
public class DemoController {@RequestMapping("demo")public String demo(Model model){log.debug("demo ok");model.addAttribute("msg","hello thymeleaf");return "demo";}}

controller写完之后,我需要写一个html实验一下,html位置在
在这里插入图片描述
html页面内容如下

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head><meta charset="UTF-8"><title>测试Thymeleaf</title>
</head>
<body><h1>测试 Thymeleaf模板 </h1><h4>获取数据: <span th:text="${msg}"></span></h4>
</body>
</html>

展示效果

把项目启动后,访问controller的地址,就可以跳转到html页面中,并且带去了controller中的数据
在这里插入图片描述

总结

Spring boot集成thymeleaf是比较简单的,虽然现在都是vue和前后端分离的开发模式,不过,有些小项目和小demo用thymeleaf做还是挺不错的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/20017.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用例与系统顺序图

习题 问题 考察点 1.Use Cases 用例绘制 列出8个Use Cases, 按优先权分成三个档次, 并分别用Fully dressed、Causual和Brief方式描述 建议:用Fully dressed方式描述的Use Cases应该是项目比较核心,而且需要尽快研制的功能模块;该功能模块的内容比较充实;不要采用如登陆验…

【pytorch】数据转换/增强后保存

数据转换 from PIL import Image from pathlib import Path import matplotlib.pyplot as plt import numpy as npimport torch import torchvision.transforms as Tplt.rcParams["savefig.bbox"] = tight # orig_im

摘下戛纳大奖的《狗阵》,救得了华谊吗?

随着第77届戛纳国际电影节成功落幕&#xff0c;《狗阵》无疑成为了华语电影的最大赢家。 今年的戛纳电影节可以说是华语电影大年&#xff0c;《风流一代》《狗阵》《酱园弄》《九龙城寨之围城》等多部重量级影片亮相戛纳。 但最终抱得奖项而归的只有管虎导演的《狗阵》&#…

appium元素定位工具_uiautomatorviewer.bat

特点&#xff1a; uiautomatorviewer是android-sdk自带的元素定位工具uiautomatorviewer只能用于安卓系统&#xff1b;它是通过截屏分析XML布局文件方式&#xff0c;来提供控件信息的查看服务 uiautomatorviewer.bat 基本使用 路径&#xff1a;这个工具是Android SDK中自带&…

统计计算六|自助法及置换检验(Bootstrap and Permutation Test)

系列文章目录 统计计算一|非线性方程的求解 统计计算二|EM算法&#xff08;Expectation-Maximization Algorithm&#xff0c;期望最大化算法&#xff09; 统计计算三|Cases for EM 统计计算四|蒙特卡罗方法&#xff08;Monte Carlo Method&#xff09; 统计计算五|MCMC&#x…

flutter开发实战-下拉刷新继续下拉路由进入活动页面实现

flutter开发实战-下拉刷新继续下拉路由进入活动页面实现 很多应用都有首页通过下拉刷新&#xff0c;继续下拉进入新的活动会场进入方式。在Flutter中&#xff0c;也可以通过pull_to_refresh来实现控制刷新页&#xff0c;继续下拉进入新的活动会场页面 一、引入pull_to_refres…

深入解析HTTP方法与路由响应

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、HTTP方法概述 1. GET方法 2. POST方法 二、路由与响应处理 1. 路由的默认响应 2. 处…

SpringBoot 基于jedis实现Codis高可用访问

codis与redis的关系 codis与redis之间关系就是codis是基于多个redis实例做了一层路由层来进行数据的路由&#xff0c;每个redis实例承担一定的数据分片。 codis作为开源产品&#xff0c;可以很直观的展示出codis运维成本低&#xff0c;扩容平滑最核心的优势. 其中&#xff0…

JavaWeb笔记整理+图解——Listener监听器

欢迎大家来到这一篇章——Listener监听器 监听器和过滤器都是JavaWeb服务器三大组件&#xff08;Servlet、监听器、过滤器&#xff09;之一&#xff0c;他们对于Web开发起到了不可缺少的作用。 ps&#xff1a;想要补充Java知识的同学们可以移步我已经完结的JavaSE笔记&#x…

宏集JMobile Studio—实现HMI界面高自由度设计

一、简介 物联网HMI的组态软件是数据可视化的重要工具&#xff0c;工程师可以通过图形化界面来配置、监控和管理现场采集的数据。目前&#xff0c;市面上大多数的组态软件里的可视化控件库都由设计师预先部署&#xff0c;用户只能调用而不能完全自定义控件&#xff0c;导致可视…

点餐小程序服务器怎么选

点餐小程序服务器怎么选&#xff1f;随着科技的不断发展&#xff0c;点餐小程序已成为餐饮行业的新宠。它不仅提升了顾客的点餐体验&#xff0c;也为商家带来了更多的便利。然而&#xff0c;面对市场上琳琅满目的服务器选择&#xff0c;如何为您的点餐小程序挑选一台合适的服务…

20240531在飞凌的OK3588-C开发板上跑原厂的Buildroot测试ETH0接口【仅供参考】

20240531在飞凌的OK3588-C开发板上跑原厂的Buildroot测试ETH0接口 2024/5/31 20:28 rootrk3588-buildroot:/# ifconfig eth0 up rootrk3588-buildroot:/# ifconfig eth1 up rootrk3588-buildroot:/# ifconfig rootrk3588-buildroot:/# rootrk3588-buildroot:/# ifconfig eth1…

化妆品企业如何借助CRM客户管理应用,实现业绩飞跃?

在当今数字化时代&#xff0c;化妆品企业面临着前所未有的挑战与机遇。随着消费者需求的日益多样化和市场竞争的加剧&#xff0c;如何高效地管理客户信息、优化客户服务流程、提升客户满意度&#xff0c;成为了化妆品企业亟需解决的问题。而在这个背景下&#xff0c;低代码平台…

C#中的实体属性详解与示例

文章目录 实体属性的定义实体属性的访问实体属性的示例总结 在C#中&#xff0c;实体属性是面向对象编程的重要组成部分。实体属性允许我们定义对象的特征和行为&#xff0c;并提供了一种方式来访问和管理这些特征。通过实体属性&#xff0c;我们可以封装对象的状态&#xff0c;…

Django信号详解

Django信号&#xff08;Signals&#xff09;是一种允许应用组件在特定事件发生时进行通信的机制&#xff0c;而不必直接引用彼此。它遵循观察者模式&#xff0c;允许发送者&#xff08;如模型实例的保存或删除&#xff09;发送信号&#xff0c;而接收者&#xff08;信号处理器&…

【三维模型采集设备】轮廓扫描仪介绍

文章目录 一、声明二、轮廓扫描仪的分类1.1 按工作原理分类1.2 按应用场景分类1.3 按扫描精度分类1.4 按扫描方式分类1.5 按测量方式来分类 三、问答2.1 激光轮廓扫描仪采用红光、绿光和蓝光各有什么优缺点&#xff1f; 一、声明 本帖信息来自对网上信息的汇总&#xff0c;如有…

WiFi串口服务器与工业路由器:局域网应用的协同之力

在工业物联网&#xff08;IIoT&#xff09;迅猛发展的当下&#xff0c;局域网&#xff08;LAN&#xff09;作为连接工业设备与数据中心的桥梁&#xff0c;其重要性日益凸显。WiFi串口服务器与工业路由器作为局域网中的关键组件&#xff0c;以其独特的性能和功能&#xff0c;为传…

64位和32位对C++ 对long类型的使用造成程序崩溃、内存泄漏问题。

系列文章目录 1、理解32位和64位下long类型和int类型不同 2、理解release和debug版本编译的可执行程序的区别 3、谨慎在64位下对long类型与int类型去赋值和相互转换 文章目录 系列文章目录前言一、int、long类型二、使用步骤1.示例代码 前言 编译环境&#xff1a;qt -c、linu…

cURL error 60: SSL certificate problem: unable to get local issuer certifica

本地小程序把接口换到本地的服务器接口&#xff0c;然后就报错了&#xff1a; cURL error 60: SSL certificate problem: unable to get local issuer certificate (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) 经查询查到&#xff1a;此问题的出现是由于没有配…

OSPF重发布

OSPF A-->B [r2]ospf 1 [r2-ospf-1]import-route rip 默认进入路由为类型 2&#xff0c;种子度量为1; 重发布进入的LSA为5类/7类&#xff0c;优先级为150&#xff1b; 类型1:显示总度量种子度量沿途累加 类型2:仅显示种子度量&#xff0c;但选路时比较的是总度量种子度量沿…