저는 SpringMVC와 Thymeleaf를 사용하는 스프링 부트 프로젝트를 가지고 있습니다. 모든 페이지에 포함 된 layout.html에 정의 된 꼬리말이 있습니다. 어쨌든 각 페이지의 "상태"를 보여주는 해당 바닥 글에 전화를 포함 할 것입니까? 이렇게하면 사이트를 탐색 할 때 페이지 바닥 글에 원하는 정보가 항상 표시 됩니 까?Thymeleaf SpringMVC 페이지 바닥 글이 컨트롤러를 찾지 못했습니다.
이 난 상태 개체두고 REST 컨트롤러가 있습니다
<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>
을 그리고 각 페이지와 같은 바닥 글을 포함
@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:include="layout :: foot"></div>
</body>
나는 내 컨트롤러에 중단 점을 넣었으며 그 콜백은 호출되지 않았고, 나는 항상이 예외를 얻습니다. 페이지로드시 :
org.springframework.expression.spel.SpelEvaluationException : EL1007E : (POS 0) : 속성 또는 필드 '상태가'나는 궁금
널 (null)에서 찾을 수 없습니다 컨트롤러는 Ajax 호출을 만들기 위해 jQuery와 같은 것을 사용해야하기 때문에 호출되지 않았으며, 또는 layout.html에 이것을 가지고 있고 include가 호출을하지 않았기 때문에 (결코있을 법하지 않음) 컨트롤러가 호출되지 않는다?
여기에서 변경 이유에 대한 설명이 유용 할 것입니다. – StormeHawke
그러나 컨트롤러는 결코 호출되지 않으므로 상태 개체가 반환되지 않습니다. 반환하기 전에 상태 객체가 인스턴스화되었음을 보여주기 위해 내 질문을 업데이트합니다. – sonoerin