인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

수빈님의 프로필 이미지
수빈

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

회원 웹 기능 - 조회

thymeleaf id 출력관련 질문입니다!

작성

·

459

0

There was an unexpected error (type=Internal Server Error, status=500).
An error happened during template parsing (template: "class path resource [templates/members/memberList.html]")
org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [templates/members/memberList.html]")
Caused by: org.attoparser.ParseException: Exception evaluating SpringEL expression: "members[0].id" (template: "members/memberList" - line 15, col 19)
안녕하세요! 강사님 강의 정말 잘 듣고 있습니다. ㅎㅎ 늘 감사합니다. 한가지 질문이 있습니다
위와 같은 오류가 템플릿에서 발생합니다!
현재 상황은
1. 템플릿 html에서 member.name은 잘 출력됩니다. 유저 가입 후 바로 리스트를 만들어 출력도 해봤는데 아이디 네임 모두 잘 출력이 됩니다.
2. 당연히 member.name 만 html 에서 출력하거나
초기 유저가 없는 html은 잘 렌더링 됩니다.
모두 print로 직접 콘솔에서 확인했습니다!
()
제가 보기에는 id 도 저장은 잘되는데 템플릿으로 옮겨갈때 값이 없습니다. 어떻게 해결하면 좋을까요..?

답변 2

1

확인해보았습니다.

public Long getId(){
return id;
}

Member의 id Getter 를 위와 같이 바꿔주세요.
getID -> getId

getID를 사용하는 코드를 찾아 getId로 바꾸시면 해결됩니다.

수빈님의 프로필 이미지
수빈
질문자

답변 정말 감사드립니다!!!!과정은 다 맞다구 생각했는데 역시 아니였네요 ㅎㅎ... 혹시 getID를 이용하면 작동이 안되는 이유를 알 수 있을까요??

getter의 규칙으로 바인딩이 이뤄지는데 해당 규칙을 위반하여 찾지 못하는 것으로 이해하시면 됩니다.

가령 IDE에서 getter와 setter를 만들어주는 기능이 있는데 getter의 규칙을 ide 만드는 사람도 알고, 스프링도 알고, 개발자가 알듯이 getter와 setter의 생성 패턴은 약속되어져 있는 것이기 때문에 해당 방식(getter의 이름패턴)으로 바인딩을 시도하는 것이죠.

1

안녕하세요. 안수빈님, 공식 서포터즈 OMG입니다.

글 쓸 때 확인할 수 있는 자주하는질문을 참고하셔서 프로젝트 압축 후 링크를 공유해주세요.

링크 확인 할 때 위의 화면이 출력되지 않도록 자주하는 질문 step6를 확인 하시고 올려주시면

코드 확인하여 답변드리겠습니다

감사합니다.

수빈님의 프로필 이미지
수빈
질문자

https://drive.google.com/file/d/16ssBrUjsojbjNgRZejA0rnvHzBWR6ZRv/view?usp=sharing

답변 감사드립니다! 위에 압축해서 프로젝트 파일 올렸습니다

수빈님의 프로필 이미지
수빈

작성한 질문수

질문하기