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}

+ +