SpringBoot模板渲染介绍
1、模板渲染在之前所见到的信息显示发现都是以Rest风格进行显示,但是很明显在时间的开发之中,所有的数据的显示最终都应该交由页面完成,但是这个页面并不是*.jsp页面,而是普通的*.html页面,而且最为重要的是此处所使用的渲染的页面采用的模板方式的显示,而在java开发行业,对于前台的显示模板常见的一共有三类技术:FreeMarker、Velocity、thymeleaf(推荐使用)。下面就利用thymeleaf实现一个简单的模板渲染操作。
2、如果要想在项目之中去使用thymeleaf模板,那么应该首先进行相关支持依赖库的导入,修改pom.xml配置文件:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>
3、本次的开发依然通过一个控制殿秩痊肭层跳转到页面之中进行页面显示。在SpringMVC的时候使用的是ModelA荏鱿胫协ndView传递,而在SpringBoot里面如果要传递直接在方法中定义一个Model参数即可。package com.gwolf.controller;import com.gwolf.util.controller.AbstractBaseController;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;@Controllerpublic class MessageController extends AbstractBaseController{ @RequestMapping(value="/show", method = RequestMethod.GET) public String show(String mid, Model model) { model.addAttribute("url","www.baidu.com"); //request属性传递包装 model.addAttribute("mid",mid); return "message/message_show"; //此处指返回一个路径,该路径没有设置后缀,默认为*.html }}
4、现在的控制器之中使用的是“@Controller”注解,所以此时执行该控制器的方法后会进行跳转处理。如果现在要进行跳转页面的定义有严格要求:在CLASSPATH路径下(src/m锾攒揉敫ain/resources、src/main/view)必须建立有一个templates的目录,在这个目录里面保存有thymeleaf的所有相关页面,这些页面可以按照文件目录保存;下面为了标准起见,建立一个源代码目录:src/main/view。并且在这个目录下面还要创建一个templates目录,名字一定不能错。
5、编写message_show.html页面(重要提示:该页面编写的时候所有的元玟姑岭箫素一定要完结)。<!DOCTYPE html&爿讥旌护gt;<html xmlns:th="http://www.thymeleaf.org"> <head> <title>SpringBoot模板渲染</title> <meta http-equiv="content-type" content="text/html;charset=UTF-8" /> </head><body> <p th:text="'官方网站:' + ${url}" /> <p th:text="'用户名:' + ${mid}" /></body></html>
6、运行服务,而后输入访问路径:http://localhost/show?mid=baidujava
7、如果现在我们所定义的要访问的页面不是通过控制器跳转的怎么办?那么为了解决这样的问题,可以考虑在thymeleaf所在的父路径之中“src/main/view”建立一个static的子目录,该目录保存的是所有静态页面;
8、在以后的实际开发之中,想js,css,images等信息文件都要求放在static目录中。thymeleaf默认的访问的页面路径的后缀为*.html,那么也可以通过修改application.yml配置文件进行变更。server: port: 80spring: messages: basename: i18n/Messages,i18n/Pages #资源文件的名称 thymeleaf: suffix: .htm