WIP: welcom + error - 404 anstatt 500
[maven-thymeleaf-skin] / src / main / java / de / juplo / thymeproxy / Application.java
index b5a38cd..7eb7333 100644 (file)
@@ -2,26 +2,33 @@ package de.juplo.thymeproxy;
 
 import de.juplo.thymeleaf.JuploDialect;
 import java.util.HashMap;
+import java.util.Locale;
 import java.util.Map;
 import org.apache.http.impl.client.CloseableHttpClient;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.web.ServerProperties;
 import org.springframework.context.annotation.Bean;
 import org.springframework.core.Ordered;
 import org.springframework.core.env.Environment;
+import org.springframework.web.servlet.View;
 import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
 import org.springframework.web.servlet.mvc.UrlFilenameViewController;
 import org.thymeleaf.resourceresolver.IResourceResolver;
 import org.thymeleaf.resourceresolver.UrlResourceResolver;
-import org.thymeleaf.spring4.SpringTemplateEngine;
-import org.thymeleaf.spring4.view.ThymeleafView;
+import org.thymeleaf.spring4.view.ThymeleafViewResolver;
 import org.thymeleaf.templateresolver.TemplateResolver;
 
 
 @SpringBootApplication
 public class Application extends WebMvcConfigurerAdapter
 {
+  @Autowired
+  private ServerProperties properties;
+
+
   @Bean
   public RegexUrlHandlerMapping proxiedHandlerMapping(
       ProxyHttpRequestHandler proxy,
@@ -105,11 +112,18 @@ public class Application extends WebMvcConfigurerAdapter
   }
 
   @Bean
-  public ThymeleafView error(SpringTemplateEngine templateEngine)
+  public View error(ThymeleafViewResolver resolver) throws Exception
+  {
+    return resolver.resolveViewName("templates/500", Locale.getDefault());
+  }
+
+  @Bean
+  public ExceptionMappings exceptionMappings()
   {
-    return new ErrorThymeleafView(templateEngine, "/thymeleaf/error.html");
+    return new ExceptionMappings();
   }
 
+
   @Override
   public void addViewControllers(ViewControllerRegistry registry)
   {
@@ -121,14 +135,4 @@ public class Application extends WebMvcConfigurerAdapter
   {
     SpringApplication.run(Application.class, args);
   }
-
-
-  static class ErrorThymeleafView extends ThymeleafView
-  {
-    ErrorThymeleafView(SpringTemplateEngine templateEngine, String templateName)
-    {
-      super(templateName);
-      setTemplateEngine(templateEngine);
-    }
-  }
 }
\ No newline at end of file