我有一个使用 SpringMVC 和 Thymeleaf 的 spring boot 项目。我在包含在每个页面上的 layout.html 中定义了一个页脚。无论如何要在该页脚上包含一个显示每个页面的“状态”的调用。这样当您浏览网站时,页脚总是会显示所需的信息?
我有一个放置状态对象的 REST 控制器:
@Controller
public class StatusController {
@RequestMapping(value = "/status", method = RequestMethod.GET)
public String get(Model model) {
Status status = new Stauts;
LocalDate lastUpdate = statusRepository.findByLastUpdate();
...
// do some work to update the status object
model.addAttribute( STATUS, status );
return "status";
}
我的 footer.html 中有一个定义:
<div th:fragment="foot">
<div id="footer">
<div class="container">
<p class="muted credit">
<form action="refreshData" th:action="@{/status}" method="get"></form>
Last update status: <span th:text="${status.status}" class="text-info"></span>
</p>
</div>
</div>
</div>
然后每个页面都包含如下页脚:
...
<div th:include="layout :: foot"></div>
</body>
我在我的控制器中放置了一个断点并且它没有被调用,并且我总是在页面加载时得到这个异常:
org.springframework.expression.spel.SpelEvaluationException: EL1007E:(pos 0): 在 null 上找不到属性或字段“状态”
我想知道控制器是否永远不会被调用,因为我必须使用像 jQuery 这样的东西来进行 Ajax 调用,或者因为我的 layout.html 中有这个并且包含不调用(这似乎不太可能)?