文档章节

springboot 入门教程-Thymeleaf(2)

pxk
 pxk
发布于 2017/09/07 17:10
字数 600
阅读 267
收藏 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

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

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

曾将
08/06
0
0
Spring Boot 全家桶 - SpringBootBucket

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

一刀
03/05
0
1
【SpringBoot2.0系列08】SpringBoot之redis数据缓存管理

【SpringBoot2.0系列01】初识SpringBoot 【SpringBoot2.0系列02】SpringBoot之使用Thymeleaf视图模板 【SpringBoot2.0系列03】SpringBoot之使用freemark视图模板 【SpringBoot2.0系列04】Spr...

余空啊
08/20
0
0
微服务资源springboot、springcloud、docker、dubbo项目实战等倾心分享

精彩内容 java实战练习项目教程 全网最全电子图书分享 你所需要的大数据视频教程 java学习视频教程及源码 今天又是周末,还是想给大家送一些福利,因为最近一直有小伙伴问我要springboot等微...

公众号_好好学java
08/06
0
0
SpringBoot的国际化使用

在项目中,很多时候需要国际化的支持,这篇文章要介绍一下springboot项目中国际化的使用。 在这个项目中前端页面使用的thymeleaf,另外加入了nekohtml去掉html严格校验,如果不了解springboo...

dalaoyang
03/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

00.编译OpenJDK-8u40的整个过程

前言 历经2天的折腾总算把OpenJDK给编译成功了,要说为啥搞这个,还得从面试说起,最近出去面试经常被问到JVM的相关东西,总感觉自己以前学的太浅薄,所以回来就打算深入学习,目标把《深入理...

凌晨一点
今天
4
0
python: 一些关于元组的碎碎念

初始化元组的时候,尤其是元组里面只有一个元素的时候,会出现一些很蛋疼的情况: def checkContentAndType(obj): print(obj) print(type(obj))if __name__=="__main__": tu...

Oh_really
昨天
6
2
jvm crash分析工具

介绍一款非常好用的jvm crash分析工具,当jvm挂掉时,会产生hs_err_pid.log。里面记录了jvm当时的运行状态以及错误信息,但是内容量比较庞大,不好分析。所以我们要借助工具来帮我们。 Cras...

xpbob
昨天
120
0
Qt编写自定义控件属性设计器

以前做.NET开发中,.NET直接就集成了属性设计器,VS不愧是宇宙第一IDE,你能够想到的都给你封装好了,用起来不要太爽!因为项目需要自从全面转Qt开发已经6年有余,在工业控制领域,有一些应用...

飞扬青云
昨天
4
0
我为什么用GO语言来做区块链?

Go语言现在常常被用来做去中心化系统(decentralised system)。其他类型的公司也都把Go用在产品的核心模块中,并且它在网站开发中也占据了一席之地。 我们在决定做Karachain的时候,考量(b...

HiBlock
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部