강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

박종훈님의 프로필 이미지
박종훈

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

체크 박스 - 멀티

수업 듣고 공부하다가 생긴 Thymeleaf 오류

해결된 질문

작성

·

626

1

MemberCreateForm.java 안에
String username, String password1, String password2, String city 를 만들어줬습니다.

2.PNG

이 때 city 값은 HTML에서 체크박스로 값을 받을 수 있게 만들어놨습니다.

1.PNG

HTML내에서 member라는 객체를 바로 생성해서 ModelAttribute로 받을 생각인데요.

3.PNGth:object = "${member}"를 선언해주고

각각 th:field="*{}" 방식으로 받아주었습니다.

10.PNG11.PNG12.PNG4.PNG

그럼 저의 생각으로 member라는 model이 생성되어 Controller쪽으로 날라간다 생각하고

Controller쪽에서5.PNG이렇게 받아주었습니다.

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라는 값이 이상해서 뜬 오류 같은데 어디가 문제인지 모르겠습니다.

혹시 해결방안을 주실 수 있을까요

감사합니다

답변 1

1

안녕하세요. 박종훈님, 공식 서포터즈 OMG입니다.

@GetMapping화면에 아래와 같이 member의 정보를 넘겼을까요?


image
image

제공해드리는 강의코드에서 위와 같이 @GetMapping에서 item의 인스턴스 정보를 넘겨주지 않으면 해당 에러가 발생하는 것을 확인 할 수 있습니다.

감사합니다.

박종훈님의 프로필 이미지
박종훈
질문자

헉 ,, 정말 감사드립니다 ,, 말씀해주신 방법으로 해결됐습니다.

박종훈님의 프로필 이미지
박종훈

작성한 질문수

질문하기