文档章节

springboot 入门教程-Thymeleaf(2)

pxk
 pxk
发布于 2017/09/07 17:10
字数 600
阅读 326
收藏 3

在第一篇https://my.oschina.net/u/1791512/blog/1523533中我们搭建了一个简单的springboot程序 ,并让他运行起来。该篇主要介绍下springboot 和Thymeleaf集成(不具体介绍Thymeleaf语法--关于Thymeleaf语法将单独进行介绍)

    1)、引入Thymeleaf包

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

    2)、模板解析器配置

spring-boot很多配置都有默认配置,比如默认页面映射路径为 
classpath:/templates/*.html 
同样静态文件路径为 
classpath:/static/

在application.properties中可以配置thymeleaf模板解析器属性.就像使用springMVC的JSP解析器配置一样

#thymeleaf start
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.content-type=text/html
#开发时关闭缓存,不然没法看到实时页面
spring.thymeleaf.cache=false
#thymeleaf end
  • 具体可以配置的参数可以查看 
  • org.springframework.boot.autoconfigure.thymeleaf.ThymeleafProperties这个类,上面的配置实际上就是注入到该类中的属性值.

3)、准备后台数据

    编写一个conntroller提供测试数据(这里牵涉到一点和spring mvc相关的内容,我们后面再介绍,先忽略),代码如下

package com.pxk.controller;

import java.util.ArrayList;
import java.util.List;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.pxk.entity.User;
import com.pxk.service.UserService;

@Controller
@RequestMapping("/user")
public class UserController {

	private Logger logger = Logger.getLogger(UserController.class);

	@Autowired
	private UserService userService;

	
	@RequestMapping("/userList")
	public String userList(Model model) {
		List<User> users=new ArrayList<User>();
		for(int i=0;i<10;i++){
			User user=new User();
			user.setAge(i+20);
			user.setName("zhang"+i);
		}
		model.addAttribute("users", users);
		model.addAttribute("count", 10);
		return "userList";
	}
}

代码解释:提供一个userList方法返回的model中包含一个user数组和count,user是一个普通的实体类,里面有id,age,name三个属性。  方法是完全spring MVC的内容(如果不熟的朋友请先熟悉下再看后续文章)

4)、编写模板userList.html

放到src/main/resources/templates目录下,这是spring boot和Thymeleaf集成的默认配置路径    

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
	<head>
		<title>userList</title>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	</head>
	<body>
		<!--/*@thymesVar id="name" type="java.lang.String"*/-->
		<p th:text="'count:' + ${count} + '!'">3333</p>
	</body>
</html>

   5)、运行Application,运行项目

    访问http://localhost:8080/user/userList,即可看到模板获取到后台数据后渲染到页面。

好了,这篇就先到这里,敬请期待下一篇:springboot 入门教程-的运行原理,关键注解和配置。

© 著作权归作者所有

pxk

pxk

粉丝 86
博文 26
码字总数 26616
作品 0
成都
程序员
私信 提问
SpringBoot thymeleaf模板页面没提示,SpringBoot thymeleaf模板插件安装

SpringBoot thymeleaf模板插件安装 SpringBoot thymeleaf模板Html页面没提示 SpringBoot thymeleaf模板页面没提示 SpringBoot thymeleaf插件下载 ================================ ©Copyr......

曾将
2018/08/06
0
0
极速上手进阶大神的 5 门 SpringBoot 课程

SpringBoot 因其大大简化了配置。可快速启动一个应用的开发环境,把时间和精力更多的投入到实现业务需求上去。成为了Java 服务器端近几年特别火爆的框架。 如此火爆的技术,怎能不抢先了解一...

实验楼
08/16
0
0
SpringBootBucket 1.0.0 发布,SprintBoot 全家桶

Spring Boot 现在已经成为Java 开发领域的一颗璀璨明珠,它本身是包容万象的,可以跟各种技术集成。 本项目对目前Web开发中常用的各个技术,通过和SpringBoot的集成,并且对各种技术通过“一...

一刀
2018/03/05
9K
17
SpringBootBucket 2.0.4 发布,代号“傲娇的小二晶”

SpringBootBucket 自从1.0.0版本发布后就有好多人喜欢,目前码云上面star数量接近1.2k。上个月还收到了红薯签名的1000 star奖杯,这个我自己也觉得很惊讶。 由于SpringBoot 1.x官方将终止维护...

一刀
2018/09/16
2.9K
4
Thymeleaf与SpringBoot集成

序: Thymeleaf官方参考文档:https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html#a-multi-language-welcome 关于thymeleaf2.x与thymeleaf3.x的区别(官方文档):https://www......

帅得拖网速
2018/10/08
396
0

没有更多内容

加载失败,请刷新页面

加载更多

java发送html模板的高逼格邮件

最近做了一个监测k8s服务pod水平伸缩发送邮件的功能(当pod的cpu/内存达到指定阈值后会水平扩展出多个pod、或者指定时间内pod数应扩展到指定数量),一开始写了个格式很low的邮件,像下面这样...

码农实战
12分钟前
4
0
php-fpm配置文件详解/MariaDB密码重置、慢查询日志

来源:https://blog.csdn.net/Powerful_Fy php-fpm主配置文件路径:/usr/local/php-fpm/etc/php-fpm.conf #位于安装php安装目录下的etc/目录中,该文件中最后一行将配置文件指向:include=/...

asnfuy
17分钟前
3
0
川普给埃尔多安和内堪尼亚胡的信

任性 https://twitter.com/netanyahu/status/1186647558401253377 https://edition.cnn.com/2019/10/16/politics/trump-erdogan-letter/index.htm...

Iridium
38分钟前
12
0
golang-mysql-原生

db.go package mainimport ("database/sql""time"_ "github.com/go-sql-driver/mysql")var (db *sql.DBdsn = "root:123456@tcp(127.0.0.1:3306)/test?charset=u......

李琼涛
今天
5
0
编程作业20191021092341

1编写一个程序,把用分钟表示的时间转换成用小时和分钟表示的时 间。使用#define或const创建一个表示60的符号常量或const变量。通过while 循环让用户重复输入值,直到用户输入小于或等于0的值...

1李嘉焘1
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部