SpringBoot 模版渲染

在之前所见到的信息显示发现都是以Rest风格进行显示,但是很明显在实际的开发之中,所有数据的显示最终都
应该交由页面完成,但是这个页面并不是*.jsp页面,而是普通的*.html页面,而且最为重要的是,此处所使用的
渲染的页面采用的是模板方式的显示,而在JAVA开发行业,对于前台的显示模板常见的有一共有三类技术:
FreeMarker、Velocity、thymeleaf(推荐使用),于是下面就利用thymeleaf实现一个简单的模板渲染操作.

1、如果想要在项目之中去使用thymeleaf模板,那么应该首先进行相关支持依赖库的导入,修改pom.xml的配置
文件

	    <dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-thymeleaf</artifactId>
		</dependency>
2、本次的开发依然要通过一个控制层跳转到页面之中进行信息显示。在SpringMVC的时代使用的是ModelAndView
传递,而现在在SpringBoot里面如果要传递直接在方法中定义一个Model参数即可.

package com.microboot.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import com.microboot.util.controller.AbstractBaseController;

@Controller
public class MessageController extends AbstractBaseController{
	
	@RequestMapping(value="/show",method=RequestMethod.GET)
	public String show(String mid, Model model) {
		// request属性传递包装
		model.addAttribute("url","www.baidu.com");
		model.addAttribute("mid", mid);
		// 此处只返回一个路径,该路径没有设置后缀,后缀默认是*.html
		return "message/message_show";
	}
	
}

现在的控制器之中使用的是"@Controller"注解,所以此时执行该控制器的方法后会进行跳转处理.如果现在
要进行跳转页面的定义,有严格要求:在classpath路径下(src/main/resources、src/main/view)
必须建立有一个template的目录,在这个目录里面保存有thymeleaf所有相关页面,这些页面可以按照文件
目录保存;

下面为了标准起见,建立一个源代码目录:src/main/view
4.编写message_show.html页面(重要提示:该页面编写的时候所有的元素一定要完结)


<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
	<title>SpringBoot模板渲染</title>
	<meta http-equiv="Content-Type" content="text/html;charse=UTF-8">
</head>
<body>
	<p th:text="'官方网站:' + ${url}">
	<p th:text="'用户名:' + ${mid}">
</body>
</html>
5.运行服务,而后输入访问路径:http://localhost:8080/show?mid=java
6、如果现在我们所定义的要访问的页面不是通过控制器跳转的怎么办?

那么为了解决这样的问题,可以考虑在thymeleaf所在的父路径之中"/src/main/view" 建立一个static的子目录
该目录保存的是所有的静态页面:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
	<title>SpringBoot模板渲染</title>
	<meta http-equiv="Content-Type" content="text/html;charse=UTF-8">
</head>
<body>
	<h1>www.baidu.com</h1>
</body>
</html>

http://localhost:8080/message_index.html

在以后的实际开发之中,像js,css,images等信息文件都要求放在static的目录里面.
7. thymeleaf默认的访问的页面路径的后缀为*.html,那么我们也可以通过修改application.properties

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值