import org.springframework.context.annotation.Bean;
import org.springframework.core.Ordered;
import org.springframework.core.env.Environment;
+import org.springframework.http.HttpStatus;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.handler.SimpleMappingExceptionResolver;
-import org.springframework.web.servlet.mvc.UrlFilenameViewController;
+import org.thymeleaf.TemplateEngine;
import org.thymeleaf.resourceresolver.IResourceResolver;
import org.thymeleaf.resourceresolver.UrlResourceResolver;
import org.thymeleaf.templateresolver.TemplateResolver;
@Bean
public RegexUrlHandlerMapping proxiedHandlerMapping(
ProxyHttpRequestHandler proxy,
- UrlFilenameViewController views
+ UrlThymeleafViewController views
)
{
RegexUrlHandlerMapping mapping = new RegexUrlHandlerMapping();
}
@Bean
- public UrlFilenameViewController urlFilenameViewController()
+ public UrlThymeleafViewController urlThymeleafViewController(
+ TemplateEngine engine
+ )
{
- return new UrlFilenameViewController();
+ return new UrlThymeleafViewController(engine);
}
@Bean
mappings.setProperty("TemplateInputException", "templates/404");
resolver.setExceptionMappings(mappings);
- resolver.setDefaultErrorView("templates/500");
+ resolver.setDefaultErrorView("templates/error");
resolver.setWarnLogCategory("exception");
return resolver;
}
ErrorAttributes errorAttributes
)
{
- return new ExceptionResolverErrorController(
- context,
- errorAttributes,
- properties.getError()
- );
+ ExceptionResolverErrorController controller =
+ new ExceptionResolverErrorController(
+ context,
+ errorAttributes,
+ properties.getError()
+ );
+ controller.addErrorMapping(HttpStatus.NOT_FOUND, "templates/404");
+ controller.setDefaultErrorView("templates/error");
+ return controller;
}