1. 程式人生 > >springboot跳轉至html頁面配置

springboot跳轉至html頁面配置

1,首先在pom檔案中引入模板引擎jar包

<dependency> 
<groupId>org.springframework.boot</groupId> 
<artifactId>spring-boot-starter-thymeleaf</artifactId> 
</dependency>
2,在application.properties中配置模板引擎
spring.thymeleaf.prefix=classpath:/templates/

3,在templates下建立test.html檔案


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8"/>
    <title>測試</title>
</head>
<body>
測試springboot跳轉頁面
</body>
</html>

4,寫controller

package com.web; 
import org.apache.ibatis.annotations.ResultMap; 
import org.springframework.stereotype.Controller; i
mport org.springframework.web.bind.annotation.RequestMapping;
 @Controller 
public class TestResult { 

@RequestMapping("/testGet")
 public String testGet() 
{ return "test"; 
} 
}

注意:Controller類的註解必須是@Controller,不能寫@RestController

知識點:@RestController註解相當於@ResponseBody + @Controller合在一起的作用。

1) 如果只是使用@RestController註解Controller,則Controller中的方法無法返回jsp頁面或者html,配置的檢視解析器 InternalResourceViewResolver不起作用,返回的內容就是Return 裡的內容。

2) 如果需要返回到指定頁面,則需要用 @Controller配合檢視解析器InternalResourceViewResolver才行。     如果需要返回JSON,XML或自定義mediaType內容到頁面,則需要在對應的方法上加上@ResponseBody註解。

例如:

1.使用@Controller 註解,在對應的方法上,檢視解析器可以解析return 的jsp,html頁面,並且跳轉到相應頁面

若返回json等內容到頁面,則需要加@ResponseBody註解

public @ResponseBody Result get(RoomAudit roomApplication) {
           PageInfo<RoomAudit> pageInfo=roomApplicationService.getPageBySql(roomApplication);
           ra = roomApplication;// 記錄當前分頁設定
            if(pageInfo!=null) {
                log.info("獲取的roomApplication房數量:"+pageInfo.getTotal());
                return ResultGenerator.genSuccessResult(pageInfo);
            }
            else
               return ResultGenerator.genFailResult("查詢資訊失敗!");
    }

[email protected]註解,相當於@[email protected]兩個註解的結合,返回json資料不需要在方法前面加@ResponseBody註解了,但使用@RestController這個註解,就不能返回jsp,html頁面,檢視解析器無法解析jsp,html頁面