【Java Web开发学习】Spring4整合thymeleaf视图解析

【Java Web开发学习】Spring4整合thymeleaf视图解析

目录

1、简单介绍
2、简单例子

转载:https://www.cnblogs.com/yangchongxing/p/9111008.html

1、简单介绍

Thymeleaf官网:https://www.thymeleaf.org 

Thymeleaf模板是原生的,不依赖于标签库。它能在接受原始HTML的地方进行编辑和渲染。因为它没有与Servlet规范耦合,因此Thymeleaf模板能够进入JSP所无法涉足的领域。

Eclipse插件:http://www.thymeleaf.org/eclipse-plugin-update-site/

依赖的jar包

thymeleaf-3.0.9.RELEASE.jar
thymeleaf-spring4-3.0.9.RELEASE.jar
unbescape-1.1.6.RELEASE.jar
attoparser-2.0.5.RELEASE.jar
slf4j-api-1.7.25.jar
slf4j-log4j12-1.7.25.jar

2、简单例子

Spring中使用Thymeleaf,我们需要配置三个启用Thymeleaf与Spring集成的bean:
ThymeleafViewResolver:将逻辑视图名称解析为Thymeleaf模板视图;
SpringTemplateEngine:处理模板并渲染结果;
SpringResourceTemplateResolver:加载Thymeleaf模板。

复制代码
@Bean
public SpringResourceTemplateResolver templateResolver() {
    SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();
    templateResolver.setPrefix("/");
    templateResolver.setSuffix(".html");
    templateResolver.setCharacterEncoding("UTF-8");
    templateResolver.setTemplateMode("HTML5");
    return templateResolver;
}

@Bean
public SpringTemplateEngine templateEngine(ITemplateResolver templateResolver) {
    SpringTemplateEngine templateEngine = new SpringTemplateEngine();
    templateEngine.setTemplateResolver(templateResolver);
    return templateEngine;
}

@Bean
public ViewResolver viewResolver(SpringTemplateEngine templateEngine) {
    ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
    viewResolver.setContentType("text/html; charset=utf-8");
viewResolver.setCharacterEncoding("UTF-8"); viewResolver.setTemplateEngine(templateEngine);
return viewResolver; }
复制代码

 模板

复制代码
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>index</title>
</head>
<body>
    <span th:text="${name}"></span>
</body>
</html>
复制代码

控制器

复制代码
package cn.ycx.bms.controller;

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

@Controller
public class IndexController {
    @RequestMapping("/")
    public ModelAndView index(Model model) {
        ModelAndView mav = new ModelAndView();
        mav.addObject("name", "你好");
        mav.setViewName("index");
        return mav;
    }
}
复制代码

 

posted @   翠微  阅读(1029)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示