chapter06_渲染Web视图_4_使用Thymeleaf

本文介绍了从JSP过渡到Thymeleaf的原因,如JSP格式不佳和与Servlet的紧密耦合。Thymeleaf作为原生模板引擎,不依赖标签库,适用于多种场景。配置Thymeleaf包括设置ThymeleafViewResolver、SpringTemplateEngine和TemplateResolver。Thymeleaf模板使用HTML文件,通过添加Thymeleaf属性实现功能,即使未经处理也可直接在浏览器中查看。文中还展示了Thymeleaf的href、include、each、text和object等特性在实际应用中的例子。
摘要由CSDN通过智能技术生成
  • JSP的问题

    (1) JSP及其标签库缺乏良好的格式

    (2) JSP与Servlet紧耦合,应用场景受限

  • Thymeleaf

    (1) 原生模板,不依赖标签库

    (2) 不仅限于Servlet

  • 配置Thymeleaf视图解析器

    (1) 需要添加3个bean:ThymeleafViewResolver(将逻辑视图名称解析为Thymeleaf模板视图)、SpringTemplateEngine(处理模板并渲染结果)、TemplateResolver(加载Thymeleaf模板)

    (2) JavaConfig示例

    WebConfig.java

      @Configuration
      @EnableWebMvc
      @ComponentScan("spittr.web")
      public class WebConfig extends WebMvcConfigurerAdapter {
    
          @Bean
          public ViewResolver viewResolver(SpringTemplateEngine templateEngine) {
    
              ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
              viewResolver.setTemplateEngine(templateEngine);
      
              return viewResolver;
          }
    
          @Bean
          public SpringTemplateEngine templateEngine(TemplateResolver templateResolver) {
    
              SpringTemplateEngine templateEngine = new SpringTemplateEngine();
              templateEngine.setTemplateResolver(templateResolver);
      
              return templateEngine;
          }
    
          @Bean
          public TemplateResolver templateResolver() {
    
              TemplateResolver templateResolver = new ServletContextTemplateResolver();
      
              templateResolver.setPrefix("/WEB-INF/views/");
              templateResolver.setSuffix(".html");
              templateResolver.setTemplateMode("HTML5");
       
              return templateResolver;
          }
    
          ...
      }
    

    类似于InternalResourceViewResolver,templateResolver同样要设置prefix,suffix,并且要设置templateMode为html5

  • Thymeleaf模板

    (1) Thymeleaf很大程度上就是html文件。它没有标签,靠自定义的命名空间,为标准的html标签集合添加Thymeleaf属性实现功能(即声明了xmlns:th="http://www.thymeleaf.org"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值