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
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
成功跳转界面
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
二、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
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
完美成功。当然 还有最重要的jsp。不推荐用
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
三、JSP
1、在src/main/resources下创建application.properties,
内容:#springmvc
spring.mvc.view.prefix:/WEB-INF/jsp/
spring.mvc.view.suffix:.jsp
2、pom.xml中加入依赖
javax.servlet
jstl
3、测试
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
四、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
utf-8
org.springframework.boot
spring-boot-maven-plugin
<