在IDEA中創建springBoot項目之後,測試templates中的html文件,發現啓動項目之後寫了controller控制器去打開相應的html文件,但是發現頁面一直顯示不出來。
controller如下:
mport org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
/**
* @author mazhicheng
* @date 2020/5/1 - 12:07
*/
@Controller
public class IndexController {
@GetMapping("/index")
public String index() {
return "index";
}
}
最後發現問題的起因在thymeleaf的使用中。
由於html是靜態文件,所以放在templates中是不能被解析的,所以要使用thymeleaf。因此要在pom.xml中引入thymeleaf。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
注意:!!!
在pom.xml中引入了thymeleaf之後,可能由於某些原因,maven中沒有加載進thymeleaf,因此做好重現加載maven文件,確保thymeleaf的導入(上次我的問題就是這裏,寫了配置之後沒有手動加載maven)
如果此時還是不能顯示templates中的html頁面,還有可能是thymeleaf沒有指定相應的版本所導致。需要在pom.xml中指定thymeleaf的版本。(由於版本更新的原因,在指定版本之後還是有可能報錯,這個時候要多在網上搜一下,選擇可用的版本更新的配置寫進去,就是下面這個)
<thymeleaf.version>3.0.9.RELEASE</thymeleaf.version>
<thymeleaf-layout-dialect.version>2.1.1</thymeleaf-layout-dialect.version>