springboot整合thymeleaf的基本配置

这里描述springboot是如何配置thymeleaf的

环境:springboot 1.5.15,

<parent>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-parent</artifactId>
	<version>1.5.15.RELEASE</version>
	<relativePath/> <!-- lookup parent from repository -->
</parent>

thymeleaf直接使用的是默认的版本

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

其他环境和之前博客配置JDBCtemplate时是一样的

下面是目录结构

springboot整合thymeleaf的基本配置

接着就是pom文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.baidu</groupId>
	<artifactId>demo000</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>
	<name>demo000</name>
	<description>Demo project for Spring Boot</description>
		<parent>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-parent</artifactId>
			<version>1.5.15.RELEASE</version>
			<relativePath/> <!-- lookup parent from repository -->
		</parent>
		<properties>
			<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
			<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
			<java.version>1.8</java.version>


			<thymeleaf.version>3.0.9.RELEASE</thymeleaf.version>
			<!-- 布局功能的支持程序 thymeleaf3主程序 layout2以上版本 -->
			<!-- thymeleaf2 layout1-->
			<thymeleaf-layout-dialect.version>2.2.2</thymeleaf-layout-dialect.version>

		</properties>
		<repositories><!-- 配置aliyun仓库 -->
			<repository>
				<id>maven-ali</id>
				<url>http://maven.aliyun.com/nexus/content/groups/public//</url>
				<releases>
					<enabled>true</enabled>
				</releases>
				<snapshots>
					<enabled>true</enabled>
					<updatePolicy>always</updatePolicy>
					<checksumPolicy>fail</checksumPolicy>
				</snapshots>
			</repository>
		</repositories>
		<dependencies>
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-starter-web</artifactId>
			</dependency>
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-starter-test</artifactId>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.mybatis.spring.boot</groupId>
				<artifactId>mybatis-spring-boot-starter</artifactId>
				<version>1.2.0</version>
			</dependency>
			<dependency>
				<groupId>mysql</groupId>
				<artifactId>mysql-connector-java</artifactId>
			</dependency>
			<dependency>
				<groupId>com.alibaba</groupId>
				<artifactId>druid</artifactId>
				<version>1.1.6</version>
			</dependency>
			<!-- jdbcTemplate -->
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-starter-jdbc</artifactId>
			</dependency>

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

		</dependencies>
		<build>
			<plugins>
				<plugin>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-maven-plugin</artifactId>
				</plugin>
			</plugins>
		</build>
	</project>

然后就是配置application.yml配置文件

server:
  port: 9010
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/db_user
    username: root
    password: 123456
    driver-class-name: com.mysql.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource

#thymelea模板配置
  thymeleaf:
    prefix: classpath:/templates/
    suffix: .html
    mode: HTML5
    encoding: UTF-8
    content-type: text/html
    cache: false
    enabled: true

下面就开始获取数据了,分为两种方式: 常规式 和 敷衍式

常规式:(从数据获取数据)

    先编写Controller

package com.baidu.demo000.controller;

import com.baidu.demo000.model.User;
import com.baidu.demo000.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.servlet.ModelAndView;


@Controller
public class TemplateController {

    @Autowired
    private UserService userService;

    @GetMapping(value = "/test")
    public ModelAndView test() {
        //这里我们只查询第一个用户的信息
        //首先定义返回值
        ModelAndView mv = new ModelAndView();
        //获取第一个用户的数据
        User user = userService.getUserById(1);
        //添加到返回值中
        mv.addObject("user", user);
        //设定跳转的页面
        mv.setViewName("/index.html");
        //响应数据
        return mv;
    }
}

其他代码的配置请参考https://blog.****.net/weixin_42139662/article/details/86623209

按照目录配置完成后,就可以启动程序

然后浏览器访问http://localhost:9010/test

得到下面的结果

springboot整合thymeleaf的基本配置

上述结果是从数据库中查出来的结果,

 

 敷衍式:  

    最简单直接的方式(不经过数据库,直接在controller层造数据)

package com.baidu.demo000.controller;

import com.baidu.demo000.model.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.servlet.ModelAndView;


@Controller
public class TemplateController {

    @GetMapping(value = "/test")
    public ModelAndView test() {
        //这里我们只查询第一个用户的信息
        //首先定义返回值
        ModelAndView mv = new ModelAndView();
        //创建数据
        User user = new User();
        user.setUsername("敷衍");
        user.setAge(250);
        user.setCtm(new Date());
        //添加到返回值中
        mv.addObject("user", user);
        //设定跳转的页面
        mv.setViewName("/index.html");
        //响应数据
        return mv;
    }
}

浏览器访问http://localhost:9010/test

结果为

springboot整合thymeleaf的基本配置

学习的话还是认真点的好,现在偷的懒将来都是要弥补回来的,

话不多说支持原创,转载请注明出处 https://blog.****.net/weixin_42139662/article/details/86711375

springboot整合thymeleaf的基本配置