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

南山网站公司电子科技 深圳 网站建设

南山网站公司,电子科技 深圳 网站建设,济南高新区建设局网站,如何进行主题网站的资源建设目录 一、什么是 Thymeleaf 模板引擎 二、Thymeleaf 模板引擎的 Maven 坐标 三、配置 Thymeleaf 四、访问页面 五、访问静态资源 六、Thymeleaf 使用示例 七、Thymeleaf 常用属性 前言 在现代 Web 开发中,模板引擎被广泛用于将动态内容渲染到静态页面中。Thy…

目录

一、什么是 Thymeleaf 模板引擎

二、Thymeleaf 模板引擎的 Maven 坐标

三、配置 Thymeleaf

四、访问页面

五、访问静态资源

六、Thymeleaf 使用示例

七、Thymeleaf 常用属性


前言

        在现代 Web 开发中,模板引擎被广泛用于将动态内容渲染到静态页面中。Thymeleaf 是一种流行的模板引擎,特别适用于 Spring Boot 项目。它能够在服务器端渲染 HTML 页面,同时支持与业务逻辑分离的开发模式,提高了开发效率。

一、什么是 Thymeleaf 模板引擎

        模板引擎主要用于解决前端显示和后端业务数据的分离。通过模板引擎,可以将动态数据填充到静态页面中,如 HTML 或 XML 格式,从而实现视图与数据的分离。这样,不仅提升了开发效率,还使得代码更易于重用,保持了良好的设计模式。

二、Thymeleaf 模板引擎的 Maven 坐标

在 Spring Boot 项目中使用 Thymeleaf,我们需要在 pom.xml 文件中添加以下 Maven 依赖:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency><dependency><groupId>net.sourceforge.nekohtml</groupId><artifactId>nekohtml</artifactId><version>1.9.22</version>
</dependency>

三、配置 Thymeleaf

application.ymlapplication.properties 文件中,我们可以进行一些常见的配置来定制 Thymeleaf 的行为:

spring:thymeleaf:cache: false  # 关闭页面缓存,便于开发时查看更改encoding: UTF-8  # 设置模板编码prefix: classpath:/templates/  # 模板文件所在的目录suffix: .html  # 模板文件后缀mode: HTML5  # 设置模板模式为 HTML5

四、访问页面

在 Spring Boot 中,我们通过 Controller 层来映射请求和返回视图。以下是一个基本的 Controller 示例:

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;@Controller
public class IndexController {@RequestMapping("/")public String index(){return "index";  // 返回模板名称,Thymeleaf 会根据配置寻找 templates/index.html}
}

  

五、访问静态资源

在 Spring Boot 中,我们可以通过配置来访问静态资源(如 CSS、JS 文件、图片等)。以下是如何在 application.yml 文件中配置静态资源的访问路径:

spring:mvc:static-path-pattern: /static/**

在 HTML 页面中引用静态资源时,可以使用相对路径:

<link rel="stylesheet" href="../static/css/mystyle.css"/>

此外,当访问页面时,可能会遇到缺少图标(如 favicon.ico)的问题,报以下错误:

在页面头部加入以下代码来解决:

<link rel="shortcut icon" href="../resources/favicon.ico" th:href="@{/static/favicon.ico}"/>

 

六、Thymeleaf 使用示例

在 Java 控制器中,我们可以通过 ModelModelMap 向 Thymeleaf 模板传递数据。以下是一个基本的示例,展示了如何向模板传递一个字符串并显示在 HTML 页面中:

Controller 层

@RequestMapping("/hello")
public String hello(Model model){model.addAttribute("msg", "Hello");return "hello";  // 返回模板名称 "hello.html"
}

HTML 模板(hello.html)

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<body><h1>Hello</h1><div th:text="${msg}"></div>  <!-- 显示 "Hello" -->
</body>
</html>

七、Thymeleaf 常用属性

Thymeleaf 提供了许多属性来简化 HTML 内容的渲染,以下是一些常用的属性和示例:

1. th:textth:utext

  • th:text:设置元素的文本内容,并会自动转义 HTML 标签。
  • th:utext:设置元素的文本内容,但不转义 HTML 标签。
示例:
@RequestMapping("thymeleaf")
public String thymeleaf(ModelMap map){map.put("thText", "th:text设置文本内容 <b>加粗</b>");map.put("thUText", "th:utext 设置文本内容 <b>加粗</b>");map.put("thValue", "thValue 设置当前元素的value值");return "thymeleaf";
}
HTML 模板(thymeleaf.html)
<p th:text="${thText}"></p>  <!-- 输出 "th:text设置文本内容 <b>加粗</b>" -->
<p th:utext="${thUText}"></p>  <!-- 输出 "th:utext 设置文本内容 <b>加粗</b>",<b>加粗</b>会被渲染为加粗文本 -->
<input type="text" th:value="${thValue}">  <!-- 设置输入框的默认值 -->

2. th:each(循环)

  • th:each 用于遍历集合,并动态渲染每一项。
示例:
@RequestMapping("/thymeleaf")
public String listUser(Model model) {List<Person> userList = new ArrayList<>();for (int i = 0; i < 10; i++) {userList.add(new Person(i, "张三" + i, 20 + i, '男'));}model.addAttribute("users", userList);return "thymeleaf";
}
HTML 模板(thymeleaf.html)
<div><ul><li th:each="user : ${users}"><span th:text="${user.id}"></span>-<span th:text="${user.name}"></span>-<span th:text="${user.age}"></span>-<span th:text="${user.sex}"></span></li></ul>
</div>

3. th:if(条件判断)

  • th:if 用于根据条件渲染元素。
示例:
@RequestMapping("/thymeleaf")
public String listUser(Model model) {model.addAttribute("size", 3);return "thymeleaf";
}
HTML 模板(thymeleaf.html)
<div th:if="${size} eq 3"><div>你好</div>
</div>

Thymeleaf 还支持多种条件判断,如 eq(等于)、gt(大于)、lt(小于)等运算符。

总结

        通过本文,我们了解到 Thymeleaf 的基本使用方法和常用功能,包括如何集成到 Spring Boot 项目中,如何在模板中渲染动态数据,以及如何使用 Thymeleaf 提供的多种标签进行页面渲染。Thymeleaf 提供了一种简洁且强大的方式来处理前端页面渲染,尤其适合与 Spring Boot 框架结合使用。

希望本文章对你深入理解 Thymeleaf 模板引擎有所帮助。欢迎随时交流!

http://www.yayakq.cn/news/629744/

相关文章:

  • 腾讯云网站建设流程网站适配手机屏幕
  • 建设网站书籍pdf下载湖南智能网站建设
  • 网页制作网站开发网站开发项目合同书
  • wordpress网站存放在婚恋网站 没法做
  • 开发网站找什么公司吗集团企业网站模板
  • 零食网站建设策划书wordpress网址
  • 网站建设及运营服务流程自学软装设计该怎么入手
  • 网站建设推进计划做游戏制作 网站
  • 电商网站那些功能用到静态化功能广州排名网站关键词优化
  • 上海网站建设seo1888热搜词排行榜
  • html5结构的网站站长素材音效网
  • 中投建设官方网站怎么用自己的服务器做网站
  • 怎么自己做充值网站自学网站建设与网页设计
  • 西安企业做网站素材网站推广方案
  • 免费淘宝客网站建设安卓优化大师老版本
  • 公司网站维护好做吗seo软文外包公司
  • 中国建设银行网站官网网址网站建设和维护工作
  • 查找南宁网站开发公司如何设公司产品购物网站
  • 怎样提升网站权重学编程的app
  • 牛杂网这类网站怎么做的网站目录管理系统模板
  • 哪个网站做课件能赚钱自己在线房屋设计免费
  • 网站和ip建设网站建设和咨询服务合同
  • 淄博网络营销网站网站 中国最早做网站的
  • 深圳正规制作网站网站开发研究的方法与技术路线
  • 上海汽车网站建设投票网站怎么做
  • 九易建网站的建站流程基本网站建设知识
  • 建设网站的计划书网页设计图片跟随鼠标移动
  • 网站建设延期合同书可以打开的wap网站
  • 企业查询软件哪个好谷歌seo搜索引擎
  • 建设部网站资质建设部网站安全考核证书查询