강의

멘토링

커뮤니티

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

tseqnu U님의 프로필 이미지
tseqnu U

작성한 질문수

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

회원 가입

회원가입 후 콘솔 로그 / 단일 체크 버튼 - 문의드립니다.

해결된 질문

작성

·

1.5K

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
로그인 처리 1 - 회원가입 부분을 진행하다가 잘 되지 않는 부분이 있어서 질문드립니다. (김영한님 다른 강의와 MVC 1,2의 내용도 같이 코드에 적용되어있는 상태입니다.)

 

딱 회원가입까지만 코드로 작성한 후, 실행해보았는데 - 회원가입은 잘 되었지만 콘솔창에 위와 같이 2개의 메시지가 나와 있습니다.

1.둘 중 위의 메시지는 강의화면에서는 save: member=Member(id=1, loginId=qqqq ... 이런 식으로 나와야 하지만, 그렇지 않습니다. 이유가 무엇일까요?

2.둘 중 아래의 메시지는 회원가입 후 아무 것도 하지 않은 채로 7~8분 뒤에 나타났습니다. 사실 이틀 전에도 이와 똑같은 메시지가 떠 있어서, 구글링해봤는데요. 이를 해결하기 위한 여러 방법들이 있었지만, 문제는 이 메시지의 정확한 뜻을 제가 이해하지 못하는 것입니다... 코드에서 어떤 부분이 잘못되어 이 메시지가 나오게 된 것일까요? (이 부분은 수업과는 사실 관련이 없어 보여서 ... 답변을 안 주셔도 괜찮습니다)

3.강의에서 item도메인 부분을 저는 할일(todo)로 변형해서 적용하고 있습니다. 할일 수정하기에서 체크박스를 활용해 해당 할일의 완료여부를 체크하게 해 놓았는데요. 문제는 이 체크박스를 체크한 상태에서 할일 수정 저장을 누르면 -> 체크되지 않은 상태로 저장된다는 것입니다. 원인으로 생각되는 것은 할일 엔티티 클래스에 '할일 완료 여부' 필드가 enum형태로 구성되어 있어서 그런 것인가...추정하고 있습니다.

(이 화면캡처는 Todo.class (할일 엔티티)에서 완료 여부를 나타내는 todoCmplt 의 코드입니다.) 추정까지는 했지만 더 이상은 진전이 없어 문의드립니다.

(굳이 enum타입으로 한 까닭은 나중에 특정 회원의 할일의 완료율을 계산해보고 싶어서입니다.)

 

코드는 https://drive.google.com/file/d/13PB_xFHDSwd9I439731Pe0rMG8VzVqfM/view?usp=sharing

에 올려놓았습니다(...만 제가 브랜치별로 코드가 많이 달라서 공유한 압축파일에서 어떻게 확인이 잘 되실지 모르겠습니다)

 

답변 1

2

안녕하세요. tseqnu U님, 공식 서포터즈 David입니다.

  1. 아마도 강의에서는 Member의 toString을 재정의 하였을 것입니다. 객체의 toString 을 재정의 하지 않으면 객체의 이름과 객체의 해시를 출력하게 됩니다. 롬복의 @ToString을 사용하시면 편하게 객체 내용을 출력하도록 재정의 할 수 있습니다.

  2. 해당 글 답변을 참고해 주세요. https://stackoverflow.com/a/61692896/10709777

  3. 앞으로 프로젝트 하시다보면 이런 일이 많이 발생할텐데 다음과 같은 방법으로 접근해보시면 좋을 것 같습니다.

    1. form에서 controller로 체크 값(완료 여부)을 넘긴다.

    2. 체크 값을 string이나 boolean으로 받아서 정상적으로 값이 넘어왔는지 확인한다.

    3. 체크 데이터를 enum으로 바로 받을 수 있는 방법이 있는지 찾아본다. 만약 없다면 넘어온 값을 enum으로 변환할 수 있는지 확인한다.

감사합니다.

tseqnu U님의 프로필 이미지
tseqnu U
질문자

감사합니다. 특히 3번 답변은 잘 기억하고 다시 한번 시도해보겠습니다. ^^

tseqnu U님의 프로필 이미지
tseqnu U

작성한 질문수

질문하기