💨
Springbootで動的なimageをhtmlに表示したい。
はじめに
個人開発中にぶつかった問題についてまとめます。
メモです。
想定読者
SpringBoot初学者。
開発環境
SpringBoot
Java
Thymeleaf
メインコンテンツ
動的なimageが表示できない。
<img th:src="@{/img/${employee.image}}" />
- 上記のコードで画像を表示することができませんでした。
コードの説明
- EmployeeServiceクラスのshowDetailメソッドで従業員詳細情報を呼び出しています。
- リクエストスコープに、従業員情報を与えています。
# EmployeeController.java
@RequestMapping("/showDetail")
public String showDetail(String id, Model model, UpdateEmployeeForm form){
Integer num = Integer.parseInt(id);
Employee employee = employeeService.showDetail(num);
model.addAttribute("employee", employee);
return "employee/detail";
}
- 下記のコードでは表示されませんでした。
# detail.html
<img th:src="@{/img/${employee.image}}" />
解決方法
-
imageName
を作成し、そこにemployee.image
を代入してから値を渡すことで正しく表示できました。
# detail.html
<img th:src="@{/img/{imageName}(imageName=${employee.image})}" />
感想
- 記事でなかなか見つけられなかったのでまとめました。
よかったら参考にしてください。
Discussion