全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

详解spring Boot 集成 Thymeleaf模板引擎实例

今天学习了spring boot 集成Thymeleaf模板引擎。发现Thymeleaf功能确实很强大。记录于此,供自己以后使用。

Thymeleaf:

  1. Thymeleaf是一个java类库,他是一个xml/xhtml/html5的模板引擎,可以作为mvc的web应用的view层。
  2. Thymeleaf还提供了额外的模块与Spring MVC集成,所以我们可以使用Thymeleaf完全替代jsp。

spring Boot

  1. 通过org.springframework.boot.autoconfigure.thymeleaf包对Thymeleaf进行了自动配置。
  2. 通过ThymeleafAutoConfiguration类对集成所需要的bean进行自动配置。包括templateResolver,templateEngine,thymeleafViewResolver的配置。

下面我将演示spring boot 日常工作中常用的Thymeleaf用法。

Spring Boot 日常工作中常用Thymeleaf的用法

1:首先,在创建项目的时候选择依赖中选中Thymeleaf,或者在pom中添加依赖

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>

或者项目名-右键-add Framework Support来添加依赖jar包。如图

 

  

2:示例javaBean

此类用来在模板页面展示数据用。包含name和age属性。

public class Person {
  private String name;
  private Integer age;

  public Person(String name, Integer age) {
    this.name = name;
    this.age = age;
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public Integer getAge() {
    return age;
  }

  public void setAge(Integer age) {
    this.age = age;
  }
}

3.脚本样式静态文件

根据默认原则,脚本样式,图片等静态文件应放置在src/main/resources/static下,这里引入了Bootstrap和jQuery,结构如图所示:

 

4.演示页面

根据默认原则,页面应放置在src/main/resources/templates下。在src/main/resources/templates下面新建index.html,如上图。
代码如下:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org"
   xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3">
<head>
  <meta name="viewport" content="width=device-width,initial-scale=1"/>
  <link th:href="@{bootstrap/css/bootstrap.min.css}" rel="external nofollow" rel="stylesheet"/>
  <link th:href="@{bootstrap/css/bootstrap-theme.min.css}" rel="external nofollow" rel="stylesheet"/>
  <meta charset="UTF-8"/>
  <title>Title</title>
</head>
<body>
  <div class="panel panel-primary">
    <div class="panel-heading">
      <h3 class="panel-title">访问model</h3>
    </div>
    <div class="panel-body">
      <span th:text="${singlePerson.name}"></span>
    </div>
    <div th:if="${not #lists.isEmpty(people)}">
      <div class="panel panel-primary">
        <h3 class="panel-title">列表</h3>
      </div>
      <div class="panel-body">
        <ul class="panel-group">
          <li class="list-group-item" th:each="person:${people}">
            <span th:text="${person.name}"></span>
            <span th:text="${person.age}"></span>
            <button class="btn" th:onclick="'getName(\''+${person.name}+'\')'">获得名字</button>
          </li>
        </ul>
      </div>

    </div>
  </div>
<script th:src="@{jquery-1.10.2.min.js}" type="text/javascript"></script>
<script th:src="@{bootstrap/js/bootstrap.min.js}"></script>
<script th:inline="javascript">
  var single=[[${singlePerson}]];
  console.log(single.name+"/"+single.age);
  function getName(name) {

      console.log(name);

  }
</script>
</body>
</html>

5.数据准备

代码如下:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.ArrayList;
import java.util.List;
@Controller
@SpringBootApplication
public class ThymeleafTestApplication {
  @RequestMapping("/")
  public String index(Model model){
    Person single=new Person("aa",1);
    List<Person> people=new ArrayList<Person>();
    Person p1=new Person("bb",2);
    Person p2=new Person("cc",3);
    Person p3=new Person("dd",4);
    people.add(p1);
    people.add(p2);
    people.add(p3);
    model.addAttribute("singlePerson",single);
    model.addAttribute("people",people);
    return "index";
  }
  public static void main(String[] args) {
    SpringApplication.run(ThymeleafTestApplication.class, args);
  }


}

6.运行

访问http://localhost:8080效果如图:

 

单击“获得名字” f12产看页面控制台打印的日志效果如图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# spring  # boot  # 模板引擎  # Thymeleaf  # springboot集成mybatisplus实例详解  # springboot Mongodb的集成与使用实例详解  # springboot集成KoTime的配置过程  # 如图  # 是一个  # 右键  # 我们可以  # 此类  # 我将  # 于此  # 所需要  # 他是一个  # 单击  # 大家多多  # 进行了  # 如图所示  # 很强大  # 类库  # 如上图  # 引入了  # Person  # private  # jar 


相关文章: 已有域名如何免费搭建网站?  专业公司网站制作公司,用什么语言做企业网站比较好?  已有域名和空间,如何快速搭建网站?  Swift中循环语句中的转移语句 break 和 continue  安徽网站建设与外贸建站服务专业定制方案  如何用PHP工具快速搭建高效网站?  魔方云NAT建站如何实现端口转发?  建站上传速度慢?如何优化加速网站加载效率?  详解jQuery中基本的动画方法  小程序网站制作需要准备什么资料,如何制作小程序?  制作网站的模板软件,网站怎么建设?  百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?  外贸公司网站制作,外贸网站建设一般有哪些步骤?  建站之星如何保障用户数据免受黑客入侵?  如何通过商城免费建站系统源码自定义网站主题?  高端企业智能建站程序:SEO优化与响应式模板定制开发  高防服务器租用如何选择配置与防御等级?  移民网站制作流程,怎么看加拿大移民官网?  如何高效利用亚马逊云主机搭建企业网站?  如何零基础开发自助建站系统?完整教程解析  定制建站流程解析:需求评估与SEO优化功能开发指南  如何续费美橙建站之星域名及服务?  青岛网站建设如何选择本地服务器?  如何通过FTP服务器快速搭建网站?  如何高效完成独享虚拟主机建站?  建站之星备案流程有哪些注意事项?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  想学网站制作怎么学,建立一个网站要花费多少?  建站主机助手选型指南:2025年热门推荐与高效部署技巧  整人网站在线制作软件,整蛊网站退不出去必须要打我是白痴才能出去?  如何选择高效便捷的WAP商城建站系统?  c# 服务器GC和工作站GC的区别和设置  广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?  沈阳制作网站公司排名,沈阳装饰协会官方网站?  香港服务器租用每月最低只需15元?  全景视频制作网站有哪些,全景图怎么做成网页?  ,在苏州找工作,上哪个网站比较好?  如何正确下载安装西数主机建站助手?  如何在VPS电脑上快速搭建网站?  香港服务器部署网站为何提示未备案?  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  如何快速查询域名建站关键信息?  如何通过西部建站助手安装IIS服务器?  电脑免费海报制作网站推荐,招聘海报哪个网站多?  如何通过万网虚拟主机快速搭建网站?  建站主机服务器选型指南与性能优化方案解析  如何通过wdcp面板快速创建网站?  网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?  如何选择适合PHP云建站的开源框架?  如何用虚拟主机快速搭建网站?详细步骤解析 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。