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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM