![](https://csdnimg.cn/release/download_crawler_static/85347280/bg3.jpg)
3. 从前三行配置中,可以看出来, Thymeleaf 模板的默认位置在 resources/templates 目录下,
默认的后缀是 html 。
4. 这些配置,如果开发者不自己提供,则使用 默认的,如果自己提供,则在
application.properties 中以 spring.thymeleaf 开始相关的配置。
而我们刚刚提到的,Spring Boot 为 Thymeleaf 提供的自动化配置类,则是
org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration ,部分
源码如下:
可以看到,在这个自动化配置类中,首先导入 ThymeleafProperties ,然后
@ConditionalOnClass 注解表示当当前系统中存在 TemplateMode 和 SpringTemplateEngine 类
时,当前的自动化配置类才会生效,即只要项目中引入了 Thymeleaf 相关的依赖,这个配置就会生
效。
这些默认的配置我们几乎不需要做任何更改就可以直接使用了。如果开发者有特殊需求,则可以在
application.properties 中配置以 spring.thymeleaf 开头的属性即可。
接下来我们就可以创建 Controller 了,实际上引入 Thymeleaf 依赖之后,我们可以不做任何配置。新
建的 IndexController 如下:
在 IndexController 中返回逻辑视图名+数据,逻辑视图名为 index ,意思我们需要在
resources/templates 目录下提供一个名为 index.html 的 Thymeleaf 模板文件。
创建 Thymeleaf
@Configuration
@EnableConfigurationProperties(ThymeleafProperties.class)
@ConditionalOnClass({ TemplateMode.class, SpringTemplateEngine.class })
@AutoConfigureAfter({ WebMvcAutoConfiguration.class,
WebFluxAutoConfiguration.class })
public class ThymeleafAutoConfiguration {
}
@Controller
public class IndexController {
@GetMapping("/index")
public String index(Model model) {
List<User> users = new ArrayList<>();
for (int i = 0; i < 10; i++) {
User u = new User();
u.setId((long) i);
u.setName("javaboy:" + i);
u.setAddress("深圳:" + i);
users.add(u);
}
model.addAttribute("users", users);
return "index";
}
}
public class User {
private Long id;
private String name;
private String address;
//省略 getter/setter
}