来源:最近一个项目想实现后台页面使用modelAndView的.ftl 文件格式 实现页面渲染。
结果报:
Error resolving template [adminUser/list], template might not exist or might not be accessible by any of the configured Template Resolvers
贴一个简单的代码块
@Controller
@RequestMapping("order")
public class SellerOrderController {
@GetMapping("/list")
public ModelAndView list(@RequestParam(value = "page",defaultValue = "1") Integer page,
@RequestParam(value = "size",defaultValue = "10") Integer size,
Model model) {
return new ModelAndView("adminUser/list");
}
}
说名:Controller 支持ModelAndView渲染,RestController 是不支持的
这是导入的包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
以上是没有任何问题的。
Debug 一大圈,硬是把这个结构变了无数次,之后发现还是不行,最后使用 .html 格式才实现正常使用,下面是代码:
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
</head>
<body>
<table>
<thead>
<tr>
<th>姓名</th>
<th>年龄</th>
</tr>
</thead>
<tbody>
<tr th:each="person:${persons}">
<td th:text="${person.name}"></td>
<td th:text="${person.age}"></td>
</tr>
</tbody>
</table>
</body>
</html>
以上面这种格式 借用 xmlns请求头的形式最终实现。
。
。
。
。
这个bug倒是解决了,但是本着最优化的想法,去寻找为什么以前使用springboot结合modelandview没有任何问题,现在倒是有了。
最后的解决方式:版本问题:springboot 2.2后版本支持的是 .ftlh 格式的文件。
没错就是 :springboot 2.2版本支持的是 .ftlh格式的文件。