前提・実現したいこと
Thymeleafを使用したフォームの作成中にエラーが発生しております。
画面内の表示内容をタブで切り替えられるような画面を作成しており、そのうち3番目のタブでThymleafを使用したフォームを表示したいのですがエラーになり表示できません。
1・2番目のタブでThymleafを使用してtableにデータを表示しているのですが、こちらは正常に動作します。
発生している問題・エラーメッセージ
org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [templates/edit_event.html]")
該当のソースコード
Controller(関係ありそうな部分のみ抜粋)
Java
1@RequestMapping("edit_event") 2 public String editEvent(Model model) { 3 4 // 一つ目と二つ目のタブで使用するデータ 5 List<Player> playerList = playerService.findAllPlayer(); 6 model.addAttribute("playerList", playerList); 7 8 // 三つ目のタブで使用するデータ 9 Event event = eventService.findEvent(); 10 model.addAttribute("event", event); 11 12 return "edit_event"; 13 } 14 15@PostMapping("editEventInfo") 16 public String editEventInfoPost(@ModelAttribute Event event) { 17 eventService.updateEvent(event); 18 return "redirect:edit_event"; 19 }
edit_event.html(関係ありそうな部分のみ抜粋)
html
1<!DOCTYPE html> 2<html lang="jp" xmlns:th="http://www.thymeleaf.org"> 3 4<body> 5 <div class="tab-wrapper"> 6 //一つ目のタブ 7 <div class="tab_content"> 8 <table> 9 <thead> 10 <tr> 11 <th>氏名</th> 12 <th>メールアドレス</th> 13 </tr> 14 </thead> 15 <tbody> 16 <tr th:each="player : ${PlayerList}"> 17 <td th:text="${player.last_name} + ' ' + ${player.first_name}"></td> 18 <td th:text="${player.email}"></td> 19 </tr> 20 </tbody> 21 </table> 22 </div> 23 24 //二つ目のタブ 25 <div class="tab_content"> 26 <table> 27 <thead> 28 <tr> 29 <th>氏名</th> 30 <th>順位</th> 31 </tr> 32 </thead> 33 <tbody> 34 <tr th:each="player : ${PlayerList}"> 35 <td th:text="${player.last_name} + ' ' + ${player.first_name}"></td> 36 <td th:text="${player.ranking}"></td> 37 </tr> 38 </tbody> 39 </table> 40 </div> 41 42 //三つ目のタブ 43 <div class="tab_content"> 44 <form action="#" th:action="@{/editEventInfo}" th:object="${event}" method="post"> 45 <label> 46 <span>大会名 <span class="required">*</span></span> 47 <input type="text" class="input-field" th:field="*{event_name}" /> 48 </label> 49 <label> 50 <span>コース <span class="required">*</span></span> 51 <input type="text" class="input-field" th:field="*{course}" /> 52 </label> 53 <label> 54 <span> </span><input type="submit" value="更新" /> 55 </label> 56 </form> 57 </div> 58 </div> 59</body>
試したこと
①1・2番目のタブの<div class="tab_content">内をすべてコメントアウト ⇒ エラー
②1・2番目のタブの<div class="tab_content">内をすべて削除 ⇒ 正常に表示できる
③②を試した後に削除した部分を再度記述し上書き、ブラウザを更新 ⇒ 正常に表示できる
④一度別画面(Thymleafを使ったフォームを表示する画面)を表示してからブラウザの戻るボタンでedit_event.htmlに戻る。 ⇒ 3つのタブ全て正常に表示できる
⑤フォームの「th:action="@{/editEventInfo}"」を削除 ⇒ 正常に表示できる
springbootのバージョンは2.2.2です。
VSCodeとChromeを使用して開発しております。
色々と検索しましたが原因がわからず手詰まりの状態です。
わかる方いらっしゃいましたら、よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー