Spring Boot视图技术
Spring Boot支持的视图技术
前端引擎技术的出现,使前端开发人员无须关注后端业务的具体实现,值关注自己呈现的效果即可,从而解决了前端代码错综复杂的问题,实现了前后端分离开发。Spring Boot对很多模块引擎技术提供了支持,具体介绍如下:
(1)FreeMarker:FreeMarker是一个基于模板生成输出文本的模板引擎,不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入开发产品的组件。
(2)Groovy:Groovy是一种基于JVM的敏捷开发语言,结合了Ruby和Smakktalk的欠打特性,能够与Java代码很好的结合,也能扩招现有的代码运行在JVM上,可以使用Java语言编写的其他库。
(3)Thymeleaf:是一种用于Web和独立环境的现代服务器端的Java模板引擎,主要目标是将优雅的Java模板带到开发流程中,将HTML在浏览器中政企显示,并且可以作为静态原型。
(4)Mustache:Mustache是轻逻辑的模板引擎,是一种JSP模板,用于对JS进行分离展示,优势在于可以应用到JavaScript、PHP、Python。
Spring Boot不太支持JSP模板,没有提供对应的整合配置,这是因为使用嵌入式Spring容器的Spring Boot应用程序对于JSP模板存在一些限制,具体如下所示:
(1)Spring Boot默认使用嵌入式Servlet容器以JAR包的方式进行项目打包JAR打包不支持JSP模板。
(2)使用Undertow嵌入式容器部署Spring Boot项目是,不支持JSP模板
(3)Spring Boot默认提供一个处理请求路径“/error”,统一错误处理器,使用JSP模板时不能使用Spring Boot自带的异常处理器,只能根据要求在Spring项目上指定位置定制错误页面。
Thymeleaf基本语法
常用标签
在Html上常用Thymeleaf标签,Thymeleaf标签能够动态的替换静态内容。
示例代码:
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" media="all" href="../../css/getvg.css" th:href="@{/css/gtvg.css}">
<title>Title</title>
</head>
<body>
<p th:text="#{hello}">欢迎进入Thymeleaf</p>
</body>
</html>
上述代码中的xmlns:th="http://www.thymeleaf.org"是用于引入Thymeleaf模板引擎。
Thymeleaf提供了许多标签
th:标签 | 说明 |
---|---|
th:insert | 页面片段包含 |
th:replace | 页面片段包含 |
th:each< |