6.4使用Thymeleaf

6.4.1配置Thymeleaf视图解析器

如果配置了多个视图解析器,没有指定顺序,可以使用按照返回的名字匹配

package spittr.config;

import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.ViewResolver;import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;import org.springframework.web.servlet.config.annotation.EnableWebMvc;import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;import org.springframework.web.servlet.view.InternalResourceViewResolver;import org.thymeleaf.spring5.SpringTemplateEngine;import org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver;import org.thymeleaf.spring5.view.ThymeleafViewResolver;import org.thymeleaf.templateresolver.ITemplateResolver;

/** * @version 版权 Copyright(c)2019  * @ClassName: * @Descripton: * @author: Shing * @date: 2020-06-13 14:21 */

//开启扫描,启用springmvc@Configuration@EnableWebMvc@ComponentScan("spittr.web")public class WebConfig extends WebMvcConfigurerAdapter {

    /**     * 配置jsp视图解析器     * @return     */    @Bean    public ViewResolver viewResolver(){        InternalResourceViewResolver resolver = new InternalResourceViewResolver();        resolver.setPrefix("/WEB-INF/");        resolver.setSuffix(".jsp");//        resolver.setOrder(2);        resolver.setViewNames(new String[]{"views/*"}); //如果配置了多个视图解析器,没有指定顺序,可以使用按照返回的名字匹配        resolver.setExposeContextBeansAsAttributes(true);        return resolver;    }

    /**     * 配置静态资源的处理     * @param configurer     */    @Override    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {        configurer.enable();    }

    /**     * thymeleaf视图解析器     * @param templateEngine     * @return     */    @Bean    public ViewResolver thymeleafViewresolver(SpringTemplateEngine templateEngine){        ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();        viewResolver.setTemplateEngine(templateEngine);//        viewResolver.setOrder(1);        viewResolver.setViewNames(new String[]{"templates/*"}); //如果配置了多个视图解析器,没有指定顺序,可以使用按照返回的名字匹配        return viewResolver;    }

    /**     * 模版引擎     * @param templateResolver     * @return     */    @Bean    public SpringTemplateEngine templateEngine(ITemplateResolver templateResolver){        SpringTemplateEngine templateEngine = new SpringTemplateEngine();        templateEngine.setTemplateResolver(templateResolver);        return templateEngine;    }

    /**     * 模版解析器     * @return     */    @Bean    public ITemplateResolver templateResolver(){        SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();        templateResolver.setPrefix("/WEB-INF/");        templateResolver.setSuffix(".html");        templateResolver.setTemplateMode("HTML5");        return templateResolver;    }

}
6.4.2定义Thymeleaf模版

百度Thymeleaf语法吧!${}与*{}的区别:${}:变量表达式,它会解析为key为spittr的model属性*{}:选择表达式

来自为知笔记(Wiz)

来源:https://www.icode9.com/content-4-821401.html

(0)

相关推荐

  • Spring 和 SpringBoot 之间到底有啥区别?

    链接:http://uee.me/cNDC8 概述 对于 Spring和 SpringBoot到底有什么区别,我听到了很多答案,刚开始迈入学习 SpringBoot的我当时也是一头雾水,随着经验的积累 ...

  • ​SpringBoot整合freemarker、thymeleaf模版引擎

    首先来介绍freemarker:freemarker是一个java模版引擎,基于模版生成文本输出的通用工具,纯java代码开发.一般我们认为freemarker的出现是为了代替jsp,除此之外它还可以 ...

  • Thymeleaf语法总结 | 笔记分享

    Thymeleaf语法总结 一.Thymeleaf介绍 Thymeleaf是Spring boot推荐使用的模版引擎,直接以html显示,前后端可以很好的分离.   二.Thymeleaf语法(Thy ...

  • Spring Boot Security MyBatis Thymeleaf Act...

    项目介绍 Spring Boot + Security + MyBatis + Thymeleaf + Activiti 快速开发平台 基于 Layui 的后台管理系统模板,扩展 Layui 原生 U ...

  • thymeleaf基础语法及内置对象

    在上一篇中已经讲解了thymeleaf的应用,下面再来介绍一下thymeleaf基础语法及内置对象与工具类.thymeleaf基础语法thymeleaf基础语法主要有以下四种:变量表达式${}选择变量 ...

  • 细品 Spring Boot Thymeleaf,还有这么多好玩的细节!

    来自公众号:江南一点雨 虽然现在流行前后端分离,但是后端模版在一些关键地方还是非常有用的,例如邮件模版.代码模版等.当然也不排除一些古老的项目后端依然使用动态模版. Thymeleaf 简洁漂亮.容易 ...

  • thymeleaf中跳转地址的使用

    最近在使用thymeleaf时,遇到一个问题,比如要跳转的地址是localhost:8080/pro/a/b,跳转后发现变成了 localhost:8080/pro/path/a/b,这样地址中多了个 ...