해결된 질문
작성
·
626
1
MemberCreateForm.java 안에
String username, String password1, String password2, String city 를 만들어줬습니다.
이 때 city 값은 HTML에서 체크박스로 값을 받을 수 있게 만들어놨습니다.
HTML내에서 member라는 객체를 바로 생성해서 ModelAttribute로 받을 생각인데요.
th:object = "${member}"를 선언해주고
각각 th:field="*{}" 방식으로 받아주었습니다.
그럼 저의 생각으로 member라는 model이 생성되어 Controller쪽으로 날라간다 생각하고
Controller쪽에서이렇게 받아주었습니다.
ModelAttribute는 HTML에서 member로 객체를 생성했기 때문에 이름을 저렇게 설정하였고 저 username, password1, password2, city는 MemberCreateForm.java에 만들어 주었기 때문에 저렇게 받아주었습니다.
그러나 localhost 페이지에서 status = 500 error가 뜨고 intellij 창에서는
org.thymeleaf.exceptions.TemplateProcessingException: Error during execution of processor 'org.thymeleaf.spring5.processor.SpringInputGeneralFieldTagProcessor' (template: "login/signup" - line 29, col 46)
Caused by: java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'member' available as request attribute
라는 error가 뜹니다. 타임리프로 controller에 넘겨주는 member라는 값이 이상해서 뜬 오류 같은데 어디가 문제인지 모르겠습니다.
혹시 해결방안을 주실 수 있을까요
감사합니다
헉 ,, 정말 감사드립니다 ,, 말씀해주신 방법으로 해결됐습니다.