package pl.edu.agh.dsm.front; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.ViewResolver; import org.springframework.web.servlet.view.tiles2.TilesConfigurer; import org.thymeleaf.dialect.IDialect; import org.thymeleaf.extras.springsecurity3.dialect.SpringSecurityDialect; import org.thymeleaf.extras.tiles2.dialect.TilesDialect; import org.thymeleaf.extras.tiles2.spring4.web.configurer.ThymeleafTilesConfigurer; import org.thymeleaf.extras.tiles2.spring4.web.view.ThymeleafTilesView; import org.thymeleaf.spring4.SpringTemplateEngine; import org.thymeleaf.spring4.view.ThymeleafViewResolver; import org.thymeleaf.templateresolver.ServletContextTemplateResolver; import org.thymeleaf.templateresolver.TemplateResolver; import java.util.Arrays; import java.util.HashSet; @Configuration public class ThymeLeafConfig { @Bean public TemplateResolver defaultTemplateResolver() { ServletContextTemplateResolver templateResolver = new ServletContextTemplateResolver(); templateResolver.setPrefix("/WEB-INF/"); templateResolver.setSuffix(".html"); templateResolver.setTemplateMode("HTML5"); templateResolver.setCharacterEncoding("UTF-8"); return templateResolver; } @Bean public SpringTemplateEngine templateEngine() { SpringTemplateEngine templateEngine = new SpringTemplateEngine(); templateEngine.setTemplateResolver(defaultTemplateResolver()); templateEngine.setAdditionalDialects(new HashSet<IDialect>(Arrays.asList( new TilesDialect(), new SpringSecurityDialect()))); return templateEngine; } @Bean public ViewResolver viewResolver() { ThymeleafViewResolver viewResolver = new ThymeleafViewResolver(); viewResolver.setTemplateEngine(templateEngine()); viewResolver.setViewClass(ThymeleafTilesView.class); viewResolver.setOrder(1); viewResolver.setCharacterEncoding("UTF-8"); return viewResolver; } @Bean public TilesConfigurer tilesConfigurer() { ThymeleafTilesConfigurer configurer = new ThymeleafTilesConfigurer(); configurer.setDefinitions("/WEB-INF/tiles-defs.xml"); return configurer; } }