From 5af7dfc5247b3d4bec4f656c70bb91df4cbe9553 Mon Sep 17 00:00:00 2001 From: DmitriyMX Date: Sun, 23 Sep 2018 18:02:22 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20JSP=20=D1=88=D0=B0=D0=B1?= =?UTF-8?q?=D0=BB=D0=BE=D0=BD=D0=B8=D0=B7=D0=B0=D1=82=D0=BE=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.MD | 4 +++- .../dmitriymx/skeleton/springmvc/SpringConfigMVC.java | 10 ++++++++++ .../skeleton/springmvc/WebAppController.java | 10 +++++----- src/main/webapp/WEB-INF/templates/index.jsp | 11 +++++++++++ 4 files changed, 29 insertions(+), 6 deletions(-) create mode 100644 src/main/webapp/WEB-INF/templates/index.jsp diff --git a/README.MD b/README.MD index 2899b67..741fa1b 100644 --- a/README.MD +++ b/README.MD @@ -1,9 +1,11 @@ -# Skeleton: SpringMVC (war) +# Skeleton: SpringMVC (war) + JSP template engine В данной ветке располагается пример *(заготовка, шаблон)* для создания _WebApplication_ средствами **Spring Framework** с использованием **Spring WebMVC**. +В качестве шаблонизатора использован **JSP**. + ## Сборка ``` diff --git a/src/main/java/ru/dmitriymx/skeleton/springmvc/SpringConfigMVC.java b/src/main/java/ru/dmitriymx/skeleton/springmvc/SpringConfigMVC.java index 09775e6..694d094 100644 --- a/src/main/java/ru/dmitriymx/skeleton/springmvc/SpringConfigMVC.java +++ b/src/main/java/ru/dmitriymx/skeleton/springmvc/SpringConfigMVC.java @@ -1,11 +1,13 @@ package ru.dmitriymx.skeleton.springmvc; +import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; +import org.springframework.web.servlet.view.InternalResourceViewResolver; @Configuration @EnableWebMvc @@ -13,6 +15,14 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; public class SpringConfigMVC implements WebMvcConfigurer { private static final int ONE_YEAR = 365*24*60*60; + @Bean + public InternalResourceViewResolver viewResolver() { + InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); + viewResolver.setPrefix("/WEB-INF/templates/"); + viewResolver.setSuffix(".jsp"); + return viewResolver; + } + @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/css/**").addResourceLocations("/css/").setCachePeriod(ONE_YEAR); diff --git a/src/main/java/ru/dmitriymx/skeleton/springmvc/WebAppController.java b/src/main/java/ru/dmitriymx/skeleton/springmvc/WebAppController.java index 45b493a..1390e4c 100644 --- a/src/main/java/ru/dmitriymx/skeleton/springmvc/WebAppController.java +++ b/src/main/java/ru/dmitriymx/skeleton/springmvc/WebAppController.java @@ -1,8 +1,8 @@ package ru.dmitriymx.skeleton.springmvc; import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; /** * Здесь описываются все пути, что начинаются с '/' @@ -14,11 +14,11 @@ public class WebAppController { /** * Обработка корневого запроса '/' * - * @return Сырое строковое значение + * @return Название шаблона */ @RequestMapping - @ResponseBody - public String index() { - return "Hello world!"; + public String index(Model model) { + model.addAttribute("message", "Hello world!"); + return "index"; } } diff --git a/src/main/webapp/WEB-INF/templates/index.jsp b/src/main/webapp/WEB-INF/templates/index.jsp new file mode 100644 index 0000000..ccc4f8d --- /dev/null +++ b/src/main/webapp/WEB-INF/templates/index.jsp @@ -0,0 +1,11 @@ + + + + + Skeleton - SpringMVC + + +

JSP template engine

+

${message}

+ +