SpringMVC と Thymeleaf を使用するスプリング ブート プロジェクトがあります。すべてのページに含まれるlayout.htmlで定義されたフッターがあります。とにかく、各ページの「ステータス」を表示するそのフッターに呼び出しを含めることはできますか。このようにサイトをナビゲートすると、ページのフッターには常に必要な情報が表示されますか?
Status オブジェクトを置く 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): プロパティまたはフィールド 'status' が null で見つかりません
Ajax呼び出しを行うためにjQueryのようなものを使用する必要があるため、またはlayout.htmlにこれがあり、インクルードが呼び出しを行わないため(これはありそうもない)、コントローラーが呼び出されないのだろうか?