当前位置:

首页 > 编程开发 > SpringBoot+Thymeleaf基于HTML5现代模板引擎的方法

SpringBoot+Thymeleaf基于HTML5现代模板引擎的方法

开始使用1.引入依赖SpringBoot默认提供了Thymeleaf的Starter,只需简单引入依赖即可。org.springframework.bootspring-boot-starter-thymeleaf目前默认版本是2.1,如果想升级版本到3.0,可以这样修改。3.0.7.RELEASE2.0.0为了方便开发,项目案例采用了热部署工具dev-tools,这样我们在修改页面之后,IDEA会自动加载,从而达到实现热更新的效果。org.springframework.bootspring-boot-

本文目录

    开始使用

    1.引入依赖

    SpringBoot默认提供了Thymeleaf的Starter,只需简单引入依赖即可。

    
          org.springframework.boot
          spring-boot-starter-thymeleaf
        

    目前默认版本是2.1,如果想升级版本到3.0,可以这样修改。

      
        3.0.7.RELEASE
        2.0.0
      

    为了方便开发,项目案例采用了热部署工具dev-tools ,这样我们在修改页面之后,IDEA会自动加载,从而达到实现热更新的效果。

       
          org.springframework.boot
          spring-boot-devtools
          runtime
        

    注:由于IDEA默认关闭了热部署,需要做一些设置才能使其生效。解决方法:首先按住Ctrl+Shift+Alt+/ 然后进入 Registry ,然后勾选compiler.automake.allow.when.app.running 即可。另外,Build->Compiler 也要勾选上Build Project automatically .

    2. 添加相关配置

    Thymeleaf默认开启了页面缓存,在开发的时候,应该关闭缓存。此外,通常我们还会指定页面的存放路径。(默认是classpath:/templates/)

    application.yml 配置如下:
    spring:
     thymeleaf:
      cache: false #关闭缓存
      prefix: classpath:/views/ #添加路径前缀

    3.编写HTML

    编写Thymeleaf和书写HTML5页面没有什么不同,最大的转变就是使用拓展属性(th:xx)去跟服务端进行数据交互,保留原始页面风格,也是Thymeleaf的推崇的风格。例如下面这个简单的案例,启动项目,我们发现页面跳转的是简书的连接,这一点也验证了Thymeleaf覆盖原生页面数据的极佳能力。

    页面代码:

    
    
    
      Thymeleaf
    
    
      

    欢迎使用Thymeleaf!!

      戳我有惊喜

    后端代码:

    @Controller
    public class UserController {
    
      @GetMapping("/")
      public String index(Model model) {
        model.addAttribute("info", "user/list");
        return "index";
      }
    
      @GetMapping("/user")
      public String hehe(Model model) {
        model.addAttribute("user", new User(UUID.randomUUID().toString(), "yizhiwazi", "20170928"));
        return "user";
      }
    
      @GetMapping("/user/list")
      public String userlist(Model model) {
        List userList = new ArrayList<>();
        userList.add(new User(UUID.randomUUID().toString(), "yizhiwazi", "20170928"));
        userList.add(new User(UUID.randomUUID().toString(), "kumamon", "123456"));
        userList.add(new User(UUID.randomUUID().toString(), "admin", "admin"));
        model.addAttribute("userList", userList);
        return "userList";
      }
    
    }

    现在我们尝试回填一个表单,展示单个用户信息。

    
    
      
      
      
    

    接下来,我们进入一个更复杂的案例,例如展示一个用户列表信息,不需要编写新的标签,就可以完成对批量用户的遍历。

    用户列表

         用户姓名:   登录密码:
    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发
    上一篇: SpringBoot整合MyBatis过程中可能遇到的问题有哪些
    下一篇: springboot上传文件太大报错怎么解决
    相关文章 更多
    淘宝网页版入口查找教程
    淘宝网页版入口查找教程

    淘宝官方网页登录入口 对于如何找到淘宝网页版的入口,很多朋友都感到有点摸不着头脑。别急,这篇文章就来为你拆解清楚整个登录流程。官方的登录入口很明确,就在官网首页的左上角。 淘宝网页版入口位于官网首页左上角,点击“亲,请登录”即可跳转至统一的验证页面。登录支持密码、短信验证码和手机APP扫码三种方式,

    米侠浏览器打不开网页
    米侠浏览器打不开网页

    米侠浏览器页面打不开,或者干脆显示一片空白?问题根源大概率出在内核上。比如内核和当前网页的兼容性出了岔子、页面渲染模块意外损坏,再或者,内核版本实在太旧了。别急,沿着切换内核、清理缓存、关闭硬件加速、替换核心文件这四步走,通常都能解决。 用米侠浏览器上网,碰到页面死活刷不出来,或者只显示一个空白屏幕

    HTML转PDF在线官网
    HTML转PDF在线官网

    HTML转PDF在线官网入口:网页内容一键生成PDF指南 HTML转PDF在线官网入口是https://htmltopdf.com,支持HTML5标签、CSS渲染、多语言字符、Web字体;操作免注册,可预览、自定义参数、批量导出;输出300DPI、保留超链接与矢量图;本地处理保障隐私;兼容主流浏览器

    HTML5视频播放标签video和音频播放标签audio标签的正确用法
    HTML5视频播放标签video和音频播放标签audio标签的正确用法

    HTML5的video和audio标签通过controls属性提供控制条,支持autoplay、loop和preload缓存策略。使用多个source元素应对不同浏览器格式兼容。JavaScript可控制播放、暂停、定位及终止下载。通过URL片段语法指定播放范围,poster属性设置视频封面,error事件处理加载失败。

    html5手机触屏touch事件介绍
    html5手机触屏touch事件介绍

    HTML5触屏事件包括touchstart、touchmove、touchend,每个事件有三个触摸列表:touches、targetTouches、changedTouches,用于实现多点触控。触摸点包含唯一标识符identifier和坐标属性,可让元素跟随手指移动,常用于拖拽、缩放、旋转等手势。注意需阻止浏览器默认事件如页面滚动或缩放,以确保交互流畅。

    HTML5 article标签嵌套标题技巧
    HTML5 article标签嵌套标题技巧

    在HTML5中,标签是一个值得重点关注的语义化元素,它支持嵌套多种语义化标签,比如和,能帮你把网页内容组织得结构清晰、独立成块。下面就来拆解一下,怎么用这个标签做嵌套标题。首先,打开HBuilderX,双击运行后,找到你的目标Web项目,新建一个HTML文件,命名为article.html。打开刚创

    HTML5实战与剖析之触摸事件(touchstart、touchmove和touchend)
    HTML5实战与剖析之触摸事件(touchstart、touchmove和touchend)

    HTML5实战与剖析之触摸事件 谈到HTML5的新事件,很多开发者可能会眼前一亮。不过,得先泼点冷水:虽然标准里添了不少新成员,但现实工作中,我们往往得优先考虑那些“能打仗”的——也就是兼容性广、经过实战检验的特性。今天,我们就聚焦在移动端开发中不可或缺的三个事件:touchstart、touchm

    springBoot项目常用目录有哪些
    springBoot项目常用目录有哪些

    springBoot项目常用目录springBoot项目的目录结构及名规范介绍基于SpringBoot开发时的目录结构及命名规范,通过介绍能够为你解决,在实际项目中如何规划目录结构?如何命名目录更规范?各个目录分别代表什么含义?等三个问题。目录说明servicex//项目名|-admin-ui//管理服务前端代码(一般将UI和SERVICE放到一个工程中,便于管理)|-servicex-auth//模块1|-servicex-common//模块2|-servicex-gateway//模块3|-serv

    解析SpringBoot和SpringMVC之间的异同
    解析SpringBoot和SpringMVC之间的异同

    解析SpringBoot和SpringMVC之间的异同SpringBoot和SpringMVC是Java领域中非常重要的开发框架。虽然它们都属于Spring框架的一部分,但是在使用和功能上有一些明显的区别。本文将对SpringBoot和SpringMVC进行比较,解析它们之间的异同。首先,让我们来了解一下SpringBoot。SpringBo

    探索SpringCloud和SpringBoot在微服务领域的不同应用方式
    探索SpringCloud和SpringBoot在微服务领域的不同应用方式

    近年来,随着云计算和分布式架构的兴起,微服务架构的应用越来越广泛。而SpringCloud和SpringBoot作为Java开发中的两个重要框架,对于微服务的实现起到了重要的作用。然而,很多人对于它们在微服务领域的不同应用方式还存在一定的疑惑。本文将从不同的角度探索SpringCloud和SpringBoot在微服务中的应用方式。首先,我们来了解一下Spri

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。