Thymeleaf是适用于Web和独立环境的现代服务器端Java模板引擎。Thymeleaf的主要目标是在开发工作中带来优雅的自然模板。在传统的web开发时通常使用的是jsp页面,首先需要在pom文件中引入springmvc相关的包,然后写springmvc的配置文件(包括访问资源的路径解析),之后还需再web.xml中配置访问路由。每次开发前都需要编写大量的配置文件。
在Springboot中为此提供了便捷的解决方案,需要在pom.xml中添加web开发的依赖。如下
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> |
还需要配置一些其他东西,这里不细说,都很简单。接下来我们先来看看thymeleaf的默认规则
@ConfigurationProperties(prefix = "spring.thymeleaf") public class ThymeleafProperties {
private static final Charset DEFAULT_ENCODING = StandardCharsets.UTF_8;
public static final String DEFAULT_PREFIX = "classpath:/templates/";
public static final String DEFAULT_SUFFIX = ".html"; |
首先这个默认的规则里有一个默认的前缀和后缀:
"classpath:/templates/",".html"。
这就说明了只要把html文件放在放在内路径里的templates/路径下,然后thymeleaf就能帮我们自动渲染了。
我们在Controler里的具体代码就是
@Controller public class HelloController{ @RequestMapping("/success") public String success(){ return "success"; } } |
然后我们需要在templates文件夹下有这个名叫“success.html”的文件。这样就实现了通过thymeleaf模板访问html文件。
在浏览器输入:localhost://8080/success
就能看到刚刚success.html这个页面。实现了这个功能我们就能用thymeleaf的语法了。它的作用就是为了使用户页面和业务数据相互分离而出现的,将从后台返回的数据生成特定的格式的文档,这里说的特定格式一般都指HTML文档。它能够处理html、xml、js、css甚至纯文本,类似于freemarker。它的优点是语法优雅易懂、原型即页面、遵从web标准。
原型即页面是它的特色,所谓原型即页面,就是你写的html,静态的去访问是什么样,动态的去访问还是这样,只不过动态的时候会把数据填充进去。