Created
March 26, 2018 18:59
-
-
Save xandreafonso/a47792b8f8db484c8e49a7d3dd628b6c to your computer and use it in GitHub Desktop.
Classe de configuração para um projeto web com Spring sem usar Spring Boot.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.alexandreafonso.template.config; | |
import org.springframework.beans.factory.annotation.Autowired; | |
import org.springframework.context.ApplicationContext; | |
import org.springframework.context.annotation.Bean; | |
import org.springframework.context.annotation.Configuration; | |
import org.springframework.web.servlet.config.annotation.EnableWebMvc; | |
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; | |
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; | |
import org.springframework.web.servlet.ViewResolver; | |
import org.thymeleaf.ITemplateEngine; | |
import org.thymeleaf.extras.springsecurity4.dialect.SpringSecurityDialect; | |
import org.thymeleaf.spring4.SpringTemplateEngine; | |
import org.thymeleaf.spring4.templateresolver.SpringResourceTemplateResolver; | |
import org.thymeleaf.spring4.view.ThymeleafViewResolver; | |
import org.thymeleaf.templatemode.TemplateMode; | |
import org.thymeleaf.templateresolver.ITemplateResolver; | |
import nz.net.ultraq.thymeleaf.LayoutDialect; | |
@EnableWebMvc | |
@Configuration | |
public class WebConfig extends WebMvcConfigurerAdapter{ | |
@Autowired | |
private ApplicationContext applicationContext; | |
@Override | |
public void addResourceHandlers(ResourceHandlerRegistry registry) { | |
registry.addResourceHandler("/resources/**").addResourceLocations("/resources/"); | |
registry.addResourceHandler("/webjars/**").addResourceLocations("/webjars/").resourceChain(true); | |
} | |
@Bean | |
public ViewResolver thymeleafViewResolver(ITemplateEngine templateEngine) { | |
ThymeleafViewResolver viewResolver = new ThymeleafViewResolver(); | |
viewResolver.setTemplateEngine(templateEngine); | |
viewResolver.setCharacterEncoding("UTF-8"); | |
return viewResolver; | |
} | |
@Bean | |
public ITemplateEngine templateEngine(ITemplateResolver templateResolver) { | |
SpringTemplateEngine templateEngine = new SpringTemplateEngine(); | |
templateEngine.setTemplateResolver(templateResolver); | |
templateEngine.setEnableSpringELCompiler(true); | |
templateEngine.addDialect(new LayoutDialect()); | |
templateEngine.addDialect(new SpringSecurityDialect()); | |
return templateEngine; | |
} | |
@Bean | |
public ITemplateResolver templateResolver() { | |
SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver(); | |
templateResolver.setApplicationContext(this.applicationContext); | |
templateResolver.setTemplateMode(TemplateMode.HTML); | |
templateResolver.setPrefix("/WEB-INF/paginas/"); | |
templateResolver.setSuffix(".html"); | |
templateResolver.setCharacterEncoding("UTF-8"); | |
templateResolver.setCacheable(false); | |
return templateResolver; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment