JAVA-14723 Convert spring-mvc-basics-4 to Spring Boot project and upd… (#13399)
* JAVA-14723 Convert spring-mvc-basics-4 to Spring Boot project and update articles * JAVA-14723 Refactoring and remove unused files * JAVA-14723 remove the WEB-INF and migrate jsp to html * JAVA-14723 Add back the removed test and rename the test into: ArticleViewerControllerWithRequiredAttributeIntegrationTest --------- Co-authored-by: timis1 <noreplay@yahoo.com>
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
package com.baeldung.config;
|
||||
|
||||
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
|
||||
import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.web.servlet.ViewResolver;
|
||||
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
|
||||
import org.springframework.web.servlet.view.InternalResourceViewResolver;
|
||||
import org.springframework.web.servlet.view.JstlView;
|
||||
import org.thymeleaf.spring5.SpringTemplateEngine;
|
||||
import org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver;
|
||||
import org.thymeleaf.spring5.view.ThymeleafViewResolver;
|
||||
import org.thymeleaf.templatemode.TemplateMode;
|
||||
import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver;
|
||||
import org.thymeleaf.templateresolver.ITemplateResolver;
|
||||
|
||||
import com.baeldung.contexts.Greeting;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
|
||||
/**
|
||||
* Web Configuration for the entire app
|
||||
*/
|
||||
@Configuration
|
||||
@EnableWebMvc
|
||||
public class WebConfig {
|
||||
|
||||
@Bean
|
||||
public WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> enableDefaultServlet() {
|
||||
return factory -> factory.setRegisterDefaultServlet(true);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Greeting greeting() {
|
||||
Greeting greeting = new Greeting();
|
||||
greeting.setMessage("Hello World !!");
|
||||
return greeting;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public ObjectMapper objectMapper() {
|
||||
return new ObjectMapper();
|
||||
}
|
||||
|
||||
// Thymeleaf configuration
|
||||
@Bean
|
||||
public ViewResolver thymeleafViewResolver() {
|
||||
|
||||
ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
|
||||
|
||||
viewResolver.setTemplateEngine(thymeleafTemplateEngine());
|
||||
viewResolver.setCharacterEncoding("UTF-8");
|
||||
viewResolver.setOrder(0);
|
||||
|
||||
return viewResolver;
|
||||
}
|
||||
|
||||
// Thymeleaf template engine with Spring integration
|
||||
@Bean
|
||||
public SpringTemplateEngine thymeleafTemplateEngine() {
|
||||
|
||||
SpringTemplateEngine templateEngine = new SpringTemplateEngine();
|
||||
templateEngine.setTemplateResolver(thymeleafTemplateResolver());
|
||||
templateEngine.setEnableSpringELCompiler(true);
|
||||
|
||||
return templateEngine;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public SpringResourceTemplateResolver springResourceTemplateResolver() {
|
||||
return new SpringResourceTemplateResolver();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public ITemplateResolver thymeleafTemplateResolver() {
|
||||
|
||||
ClassLoaderTemplateResolver templateResolver = new ClassLoaderTemplateResolver();
|
||||
|
||||
templateResolver.setPrefix("/templates/");
|
||||
templateResolver.setCacheable(false);
|
||||
templateResolver.setSuffix(".html");
|
||||
templateResolver.setTemplateMode(TemplateMode.HTML);
|
||||
templateResolver.setCharacterEncoding("UTF-8");
|
||||
|
||||
return templateResolver;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user