Spring Boot 页面跳转视图解析Thymeleaf和FreeMarker和jsp详解

spring boot 在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加载html默认到resources/templates里寻找:

一、Thymeleaf(html页面)

首先 增加依赖:    



            org.springframework.boot

            spring-boot-starter-thymeleaf

Spring Boot 页面跳转视图解析Thymeleaf和FreeMarker和jsp详解_第1张图片

1 写index.html{resources/templates目录下}

如 index.html. 
★★需要注意的是:自动生成的html, 是不全的,注意区分。





    
    Title


Hello world!

Controller进行跳转,

提供了两种方式,1)是直接返回字符串,字符串为html的名字,视图会自动解析。 
2)是利用ModelAndView,如图:

@Controller

public class TestController {

    @RequestMapping("/mvc1")

    public String mvc1(){

    return "index";

    }

    @RequestMapping("/mvc2")

    @ResponseBody

    public ModelAndView mvc2(){

        ModelAndView mv = new ModelAndView("index");

        return mv;

    }

    }

此时测试

localhost:8080/mvc1

  • 1

成功跳转界面

 

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

二、FreeMarker(ftl)详解

首先,增加依赖,freemarker和devtools必须有,还有web,这个自动就有,如果没有记得加上

       



            org.springframework.boot

            spring-boot-starter-freemarker

        

        

            org.springframework.boot

            spring-boot-devtools

            true

        

        

            org.springframework.boot

            spring-boot-starter-web

        

Spring Boot 页面跳转视图解析Thymeleaf和FreeMarker和jsp详解_第2张图片

 

1

在这里首先是demo.ftl 
一定注意是ftl结尾。







    

    Insert title here





请看说明:${descrip} 

2)TestController

@Controller

public class TestController {

    @RequestMapping("/demo")

    public String demo(Map map) {

        map.put("descrip", "It's a springboot integrate freemarker's demo!!!!");

        return "demo";

    }

}

3)浏览器测试

local:8080/demo

  • 1

完美成功。当然 还有最重要的jsp。不推荐用

 

 

 

 

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

三、JSP

1、在src/main/resources下创建application.properties,

内容:#springmvc

spring.mvc.view.prefix:/WEB-INF/jsp/

spring.mvc.view.suffix:.jsp

 

Spring Boot 页面跳转视图解析Thymeleaf和FreeMarker和jsp详解_第3张图片

Spring Boot 页面跳转视图解析Thymeleaf和FreeMarker和jsp详解_第4张图片

 

 

2、pom.xml中加入依赖



           javax.servlet

           jstl

3、测试

Spring Boot 页面跳转视图解析Thymeleaf和FreeMarker和jsp详解_第5张图片

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

四、Pom.xml内容

project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    4.0.0

    com.woms.www

    springboot

    0.0.1-SNAPSHOT

    jar



    

         org.springframework.boot

         spring-boot-starter-parent

        1.3.5.RELEASE

    







                 

                     org.springframework.boot

                     spring-boot-starter-web

                 

                 

                

                    org.springframework.boot

                    spring-boot-starter-tomcat

                    provided

                               

                 

                 

                    javax.servlet

                    jstl

                

         

                 

                     org.springframework.boot

                     spring-boot-starter-thymeleaf

                  

                

              

                

                     org.springframework.boot

                     spring-boot-starter-freemarker

                 

                 

                     org.springframework.boot

                     spring-boot-devtools

                     true

                 

                 

                     org.springframework.boot

                     spring-boot-starter-web

                   



    

        

            

                org.apache.maven.plugins

                maven-compiler-plugin

                

                    1.8

                    1.8

                    utf-8

                

            

            

                org.springframework.boot

                spring-boot-maven-plugin

            

        

    


<

你可能感兴趣的:(springboot)