WIP: welcome + error
[maven-thymeleaf-skin] / src / main / java / de / juplo / thymeproxy / Application.java
index eb2ddbb..b5a38cd 100644 (file)
@@ -9,14 +9,18 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.context.annotation.Bean;
 import org.springframework.core.Ordered;
 import org.springframework.core.env.Environment;
+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.templateresolver.TemplateResolver;
 
 
 @SpringBootApplication
-public class Application
+public class Application extends WebMvcConfigurerAdapter
 {
   @Bean
   public RegexUrlHandlerMapping proxiedHandlerMapping(
@@ -100,9 +104,31 @@ public class Application
     return new JuploDialect();
   }
 
+  @Bean
+  public ThymeleafView error(SpringTemplateEngine templateEngine)
+  {
+    return new ErrorThymeleafView(templateEngine, "/thymeleaf/error.html");
+  }
+
+  @Override
+  public void addViewControllers(ViewControllerRegistry registry)
+  {
+    registry.addViewController("/").setViewName("forward:index.html");
+  }
+
 
   public static void main(String[] args)
   {
     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