1、在pom.xml中添加對thymeleaf的引用html
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
2、修改StudentController控制器java
package com.example.demo.controller; import com.example.beans.Student; import com.example.service.StudentService; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @Controller public class StudentController { private StudentService studentService=new StudentService(); @RequestMapping("/") @ResponseBody public String index(){ return "Hello spring boot"; } @RequestMapping("/showStudents") public String showStudents(Model model){ String name=""; for(Student s:studentService.showAllStudents()){ name=name+s.getName()+" "; } model.addAttribute("name",name); return "/Student/StudentsInfo"; } }
3、在Resources下的templates下建立目錄Student,在其下面新建 StudentInfo.html文件,內容以下web
<!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>全部學生信息</title> </head> <body> <h3 th:text="${name}"></h3> </body> </html>
4、說明spring
@RestController註解至關於@ResponseBody + @Controller合在一塊兒的做用json
1.若是隻是使用@RestController註解Controller,則Controller中的方法沒法返回jsp頁面,或者html,配置的視圖解析器 InternalResourceViewResolver不起做用,返回的內容就是Return 裏的內容app
2.若是須要返回到指定頁面,則須要用 @Controller配合視圖解析器InternalResourceViewResolver才行。
若是須要返回JSON,XML或自定義mediaType內容到頁面,則須要在對應的方法上加上@ResponseBody註解webapp
3.使用@Controller 註解,在對應的方法上,視圖解析器能夠解析return 的jsp,html頁面,而且跳轉到相應頁面若返回json等內容到頁面,則須要加@ResponseBody註解jsp
5、@RequestMappingspring-boot
RequestMapping是一個用來處理請求地址映射的註解,可用於類或方法上。用於類上,表示類中的全部響應請求的方法都是以該地址做爲父路徑。ui
@RequestMapping 除了修飾方法, 還可來修飾類 :
類定義處: 提供初步的請求映射信息。相對於 WEB 應用的根目錄;
方法處: 提供進一步的細分映射信息。 相對於類定義處的 URL。
若類定義處未標註 @RequestMapping,則方法處標記的 URL相對於 WEB 應用的根目錄
返回ModelAndView時的url會根據你的 @RequestMapping實際狀況組成。
若是類上沒有映射,那麼url直接就是方法的映射;不然url爲類上+方法上映射路徑組合。
對應項目jsp位置則是一級路徑對應一級文件目錄。
如url爲/default/index
對應項目中webapp/default/index.jsp
RequestMapping註解有六個屬性,下面咱們把她分紅三類進行說明。
【一、 value, method;】
value:指定請求的實際地址,指定的地址能夠是URI Template 模式;
method: 指定請求的method類型, GET、POST、PUT、DELETE等;
【二、consumes,produces;】
consumes: 指定處理請求的提交內容類型(Content-Type),例如application/json, text/html;
produces: 指定返回的內容類型,僅當request請求頭中的(Accept)類型中包含該指定類型才返回;
【三、 params,headers;】
params: 指定request中必須包含某些參數值時,才讓該方法處理。
headers: 指定request中必須包含某些指定的header值,才能讓該方法處理請求。