安徽网站建设开发电话,wordpress 修改文章,大型网站建设推广,微山网站建设多少钱在Spring MVC中#xff0c;我们可以使用Thymeleaf模板引擎来实现加载外部HTML文件。
1.Thymeleaf介绍
Thymeleaf是一种现代化的服务器端Java模板引擎#xff0c;用于构建漂亮、可维护且易于测试的动态Web应用程序。它适用于与Spring框架集成#xff0c;并且可以与Spring M…在Spring MVC中我们可以使用Thymeleaf模板引擎来实现加载外部HTML文件。
1.Thymeleaf介绍
Thymeleaf是一种现代化的服务器端Java模板引擎用于构建漂亮、可维护且易于测试的动态Web应用程序。它适用于与Spring框架集成并且可以与Spring MVC或Spring Boot等框架一起使用。
Thymeleaf模板引擎允许开发人员在HTML页面中使用模板表达式这些表达式可以动态地替换页面中的内容。它提供了丰富的表达式语法可以从后端Java代码中获取动态数据并在模板中进行显示。与其他模板引擎相比Thymeleaf具有以下特点
自然的模板语法Thymeleaf的模板语法非常类似于HTML易于理解和编写。静态预览在开发过程中可以直接在浏览器中预览Thymeleaf模板无需启动整个应用程序。强大的功能Thymeleaf提供了丰富的标签和表达式可以处理循环、条件判断、国际化等常见的模板需求。安全Thymeleaf会对输出的内容进行自动转义以防止XSS攻击。
2.springboot使用thymeleaf
使用spring-boot-starter-thymeleaf可以非常方便地使用thymeleaf下面来看详细的例子。
2.1.引入spring-boot-starter-thymeleaf依赖
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-thymeleaf/artifactId
/dependency
2.2.创建controller
Controller
public class H5Controller {GetMapping(/external)public String loadExternalHtml() {return index;}
}
在上述示例中index()方法处理根路径的GET请求并返回index字符串。这意味着它将返回名为index.html的Thymeleaf模板。
现在创建一个名为index.html的Thymeleaf模板放置在src/main/resources/templates目录下默认的Thymeleaf模板目录
如果想重新定义模板目录路径只需要修改application.properties文件
spring.thymeleaf.prefixfile:/F:/projects/eb/resources/html5/
2.3.创建简易html文件
!DOCTYPE html
html xmlns:thhttp://www.thymeleaf.org
headmeta charsetUTF-8titleIndex Page/title
/head
bodyh1This is the index page/h1
/body
/html
2.4.浏览器访问
在浏览器输入localhost:8080/index.html即可看到html内容。
2.5.参数化访问html文件
假设Thymeleaf目录下有很多文件我们希望客户端能通过参数来选择加载某个文件那么我们可以修改controller的代码。
Controller
public class H5Controller {GetMapping(/external)public String loadExternalHtml(RequestParam String resource) {return resource; }}浏览器重新输入可以根据需要访问特定文件
http://localhost:8080/external?resourcehello
2.6热加载文件
web项目有一个特殊要求就是希望程序在运行器可以动态加载html文件。使用thymeleaf我们可以自动实现。
在程序运行期间我们往/templates目录下新增文件在浏览器输入地址即可访问新增的文件。
2.7热更新文件
如果已经添加的html文件需要在程序运行期间修改内容呢thymeleaf同样也支持。只需修改application.properties文件
spring.thymeleaf.cachefalse 相关代码可以调试AbstractCachingViewResolver类由图可知如果spring.thymeleaf.cache设置为true则默认缓存数量为1024个文件。为false的话则不缓存每次都重新创建View因此每次加载不管有没有修改都是创建新的文件。