• 【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;
        }
    }
  • 相关阅读:
    第二十二节:类与对象后期静态绑定对象和引用
    WePHP的表单令牌验证
    第二十一节:类与对象对象的比较类型约束
    Windows下 C++ 实现匿名管道的读写操作
    Mongoose 利用实现HTTP服务
    C++ Qt 框架静态编译 操作记录
    使用Qt框架开发http服务器问题的记录
    把CMD下的color 方案遍历一遍
    C++学习笔记
    在1~10的整数范围随机5个不重复的整数
  • 原文地址:https://www.cnblogs.com/yangchongxing/p/9111008.html
Copyright © 2020-2023  润新知