zoukankan      html  css  js  c++  java
  • SpringBoot集成Spring MVC视图

    SpringBoot在springmvc的视图解析器方面就默认集成了ContentNegotiatingViewResolver和BeanNameViewResolver,在视图引擎上就已经集成自动配置的模版引擎,如下:
    1. FreeMarker
    2. Groovy
    3. Thymeleaf
    4. Velocity (deprecated in 1.4)
    6. Mustache

    JSP技术spring boot 官方是不推荐的,原因有三:
    1. 在tomcat上,jsp不能在嵌套的tomcat容器解析即不能在打包成可执行的jar的情况下解析
    2. Jetty 嵌套的容器不支持jsp
    3. Undertow

    而其他的模版引擎spring boot 都支持,并默认会到classpath的templates里面查找模版引擎。

    一、集成freemarker模版引擎视图

    1.现在pom.xml启动freemarker模版引擎视图

    1 <dependency>
    2     <groupId>org.springframework.boot</groupId>
    3     <artifactId>spring-boot-starter-freemarker</artifactId>
    4 </dependency>
    pom freemarker

    2.定义一个模版后缀是ftl,注意是在classpath的templates目录下 

    3.在controller上返回视图路径

    1 @RestController
    2 @RequestMapping("/task")
    3 public class TaskController {
    4 
    5     @RequestMapping("/mvc1")
    6     public ModelAndView mvc1() {
    7         return new ModelAndView("index");
    8     }
    9 }
    controller

    @RestController默认就会在每个方法上加上@Responsebody,方法返回值会直接被httpmessageconverter转化,如果想直接返回视图,需要直接指定modelAndView。

    二、集成jsp

    1.首先,需要在你项目上加上webapp标准的web项目文件夹

     2.在配置文件上配置,jsp的前缀和后缀

    1 spring.mvc.view.prefix=/WEB-INF/
    2 spring.mvc.view.suffix=.jsp
    pom配置

    3.然后直接在controller中返回视图

    1 @RestController
    2 @RequestMapping("/task")
    3 public class TaskController {
    4 
    5     @RequestMapping("/mvc1")
    6     public ModelAndView mvc1() {
    7         return new ModelAndView("index");
    8     }
    9 }
    controller

    三、注意

    如遇启动项目不起作用的情况,注意调整pom编译路径。

    有微调的转自:

    https://blog.csdn.net/yingxiake/article/details/51288727

  • 相关阅读:
    JNI和NDK的关系
    JNI和NDK的关系
    Android SDK结构分析
    设计模式:单例模式
    编程规范:占位符
    设计模式:工厂模式
    代码整洁之道----读书笔记
    个人编程规范
    装饰器函数
    异常处理
  • 原文地址:https://www.cnblogs.com/weitaming/p/11315626.html
Copyright © 2011-2022 走看看