From 8fee91a915e585928a2648b14d463d781479d835 Mon Sep 17 00:00:00 2001 From: DmitriyMX Date: Sun, 9 Apr 2017 22:43:56 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=BE=D0=B4=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B0=D0=B5=D0=BC=20Freemarker?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 10 ++++++++++ .../kinosearch3/webpp/SpringConfig.java | 18 +++++++++++++++++ .../kinosearch3/webpp/WebAppController.java | 20 ++++++++++++++++--- .../kinosearch/kinosearch3/webpp/index.ftl | 8 ++++++++ 4 files changed, 53 insertions(+), 3 deletions(-) create mode 100644 src/main/resources/kinosearch/kinosearch3/webpp/index.ftl diff --git a/pom.xml b/pom.xml index d3920cd..fbb1a8a 100644 --- a/pom.xml +++ b/pom.xml @@ -102,6 +102,11 @@ spring-webmvc ${spring.version} + + org.springframework + spring-context-support + ${spring.version} + @@ -130,6 +135,11 @@ lombok 1.16.16 + + org.freemarker + freemarker + 2.3.23 + diff --git a/src/main/java/kinosearch/kinosearch3/webpp/SpringConfig.java b/src/main/java/kinosearch/kinosearch3/webpp/SpringConfig.java index 77d17b6..ba6af97 100644 --- a/src/main/java/kinosearch/kinosearch3/webpp/SpringConfig.java +++ b/src/main/java/kinosearch/kinosearch3/webpp/SpringConfig.java @@ -8,6 +8,9 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.PropertySource; +import org.springframework.web.servlet.ViewResolver; +import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer; +import org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver; @Configuration @PropertySource("classpath:/application.properties") @@ -16,4 +19,19 @@ public class SpringConfig { public WebApp webapp(@Value("${webapp.host}") String host, @Value("${webapp.port}") int port) { return new WebApp(host, port); } + + @Bean + public ViewResolver viewResolver() { + FreeMarkerViewResolver viewResolver = new FreeMarkerViewResolver(); + viewResolver.setCache(true); + viewResolver.setSuffix(".ftl"); + return viewResolver; + } + + @Bean + public FreeMarkerConfigurer freemarkerConfig() { + FreeMarkerConfigurer freeMarkerConfigurer = new FreeMarkerConfigurer(); + freeMarkerConfigurer.setTemplateLoaderPath("classpath:/kinosearch/kinosearch3/webpp/"); + return freeMarkerConfigurer; + } } \ No newline at end of file diff --git a/src/main/java/kinosearch/kinosearch3/webpp/WebAppController.java b/src/main/java/kinosearch/kinosearch3/webpp/WebAppController.java index 00fa0d2..68b75c7 100644 --- a/src/main/java/kinosearch/kinosearch3/webpp/WebAppController.java +++ b/src/main/java/kinosearch/kinosearch3/webpp/WebAppController.java @@ -4,16 +4,30 @@ */ package kinosearch.kinosearch3.webpp; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.ResponseBody; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; @Controller public class WebAppController { + private final Logger logger = LoggerFactory.getLogger(WebAppController.class); + @RequestMapping(value = "/", method = RequestMethod.GET) - @ResponseBody public String hello() { - return "hello...?"; + return "index"; + } + + @RequestMapping(value = "/favicon.ico") + public void favicon(HttpServletResponse response) { + try { + response.sendError(404); + } catch (IOException e) { + logger.error("favicon 404", e); + } } } diff --git a/src/main/resources/kinosearch/kinosearch3/webpp/index.ftl b/src/main/resources/kinosearch/kinosearch3/webpp/index.ftl new file mode 100644 index 0000000..4a46811 --- /dev/null +++ b/src/main/resources/kinosearch/kinosearch3/webpp/index.ftl @@ -0,0 +1,8 @@ +[#ftl] + + + + +

KinoSearch 3.0.0-alpha

+ + \ No newline at end of file