这是我使用Thymeleaf设置的Spring Boot。
的pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
ThymeleafConfig
@Configuration
public class ThymeleafConfig {
@Bean
public ServletContextTemplateResolver templateResolver() {
ServletContextTemplateResolver resolver = new ServletContextTemplateResolver();
resolver.setPrefix("/templates/");
resolver.setSuffix(".html");
resolver.setTemplateMode("LEGACYHTML5");
resolver.setOrder(1);
return resolver;
}
}
控制器
@RestController
public class WebController {
@RequestMapping("")
public String index(){
return "index";
}
}
Index.html位于src / main / resources / templates。
但是当调用localhost:8080时,只会呈现“index”字符串。未获取Index.html。可能是什么问题?
答案 0 :(得分:6)
您正在使用@RestController
。
@RestController
bean的所有处理程序方法就像使用@ResponseBody
注释一样,即。他们返回的对象将根据某些HttpMessageConverter
直接写入响应。
如果您不想要这种行为,请将@RestController
更改为@Controller
。