前提・実現したいこと
SpringBootで開発していて、
HTMLにバリデーションを貼ったら、初期表示の時点でエラーになってしまいます。。。
(バリデーション云々の前の段階でエラー)
もう訳が分かりません。。
ご教授いただければと思います。
発生している問題・エラーメッセージ
2020-11-29 19:55:22.954 ERROR 90296 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression: "#fields.hasErrors('name')" (template: "comment" - line 34, col 22)] with root cause java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'name' available as request attribute
該当のソースコード
html
1<form th:action="@{/commentPost}" method="post" class="form-horizontal"> 2 <div class="form-group"> 3 <label class="col-sm-4 control-label" for="name1">お名前</label> 4 <div class="col-sm-8"> 5 <input type="text" class="form-control" id="name" name="name" > 6 <span th:if="${#fields.hasErrors('name')}" th:errors="*{name}" style="color: red"></span><br /> 7 </div> 8 </div> 9 </form>
java
1 @GetMapping(path = "/comment/{shopId}") 2 public ModelAndView top(@ModelAttribute CommentPost commentPost,ModelAndView mav,@PathVariable("shopId") int shopId, 3 @PageableDefault( 4 page = 0, 5 size = 5 6 )Pageable pageable 7 ) { 8 System.out.println(shopId); 9 Page<CommentDisp> commentDisp = commentService.commentDisp(shopId, pageable); 10 int pageNationMin = 0; 11 int pageNationMax = commentDisp.getTotalPages() -1; 12 System.out.println(commentDisp); 13 mav.addObject("shopId",shopId); 14 mav.addObject("pageNationMin", pageNationMin); 15 mav.addObject("pageNationMax", pageNationMax); 16 mav.addObject("commentDisp",commentDisp); 17 mav.setViewName("comment"); 18 return mav; 19 }
java
1public class CommentPost { 2 //ショップID 3 private int shopId; 4 //名前 5 @NotBlank 6 private String name; 7〜〜〜〜〜〜〜〜〜〜〜〜〜
補足情報(FW/ツールのバージョンなど)
SpringBoot 2.2.4.RELEASE
回答1件
あなたの回答
tips
プレビュー