ThymeleafViewResolverConfig.java 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package com.mooctest.config;
  2. import nz.net.ultraq.thymeleaf.LayoutDialect;
  3. import org.springframework.context.annotation.Bean;
  4. import org.springframework.context.annotation.Configuration;
  5. import org.springframework.web.servlet.ViewResolver;
  6. import org.thymeleaf.spring5.SpringTemplateEngine;
  7. import org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver;
  8. import org.thymeleaf.spring5.view.ThymeleafViewResolver;
  9. import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver;
  10. import org.thymeleaf.templateresolver.ITemplateResolver;
  11. @Configuration
  12. public class ThymeleafViewResolverConfig {
  13. @Bean
  14. public ViewResolver thymeleafViewResolver() {
  15. ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
  16. viewResolver.setTemplateEngine(thymeleafTemplateEngine());
  17. viewResolver.setCharacterEncoding("UTF-8");
  18. return viewResolver;
  19. }
  20. // Thymeleaf template engine with Spring integration
  21. @Bean
  22. public SpringTemplateEngine thymeleafTemplateEngine() {
  23. SpringTemplateEngine templateEngine = new SpringTemplateEngine();
  24. templateEngine.setTemplateResolver(thymeleafTemplateResolver());
  25. templateEngine.addDialect(new LayoutDialect());
  26. return templateEngine;
  27. }
  28. @Bean
  29. public SpringResourceTemplateResolver springResourceTemplateResolver() {
  30. return new SpringResourceTemplateResolver();
  31. }
  32. // Thymeleaf template resolver serving HTML 5
  33. @Bean
  34. public ITemplateResolver thymeleafTemplateResolver() {
  35. ClassLoaderTemplateResolver templateResolver = new ClassLoaderTemplateResolver();
  36. templateResolver.setPrefix("templates/");
  37. templateResolver.setCacheable(false);
  38. templateResolver.setSuffix(".html");
  39. templateResolver.setTemplateMode("HTML5");
  40. templateResolver.setCharacterEncoding("UTF-8");
  41. return templateResolver;
  42. }
  43. }