5.19. 팀프로젝트 진행상황
membermodify, socialmodify 등 회원 정보 수정을 할 때 DB에 저장된 member객체를 가져와야 하는 경우가 있다. 이때 @ModelAttribute Member member로 member클래스의 내용을 가져오려고 했었다. 그러나 실제로 조회되는 값은 membermodifyDTO(입력폼)객체였다. 이는 member객체에 db내용 주입을 안해서 생긴 문제였다. member객체에 당연히 db내용이 연결되어 있을거라 생각하고 바로 썼었다,
@Query("select m from Member m where m.mid = :mid")
Optional<Member> memberset(String mid);
이 쿼리문을 통해 member내용을 가져오고
Optional<Member> result = memberRepository.memberset(memberMofifyDTO.getMid());
if (result.isEmpty()) {
throw new UsernameNotFoundException("username not found...");
}
Member member = result.get();
각 내용을 member객체에 할당해주는 과정이 제일 먼저 필요하다.
이렇게 할당을 해주고 나서 member. 관련된 내용을 적으면 값을 가져올 수 있다.
이에따라 메서드 인자에 @ModelAttribute Member member를 넣었던 것도 다 제외시켰다.
필터링 기능을 쓰기 위해 ajax를 기반으로 정보를 주고 받을 생각이다.
간단하게 ajax란 화면 전체를 다 새로고침하여 정보를 받을 필요없이 필요한 부분만 서버와 클라이언트 간에 정보를 주고 받는 것이다.
이 때 주고받는 언어는 jquery를 보통 사용하는데 이전에 회원가입, 로그인 기능을 쓸 때에도 ajax기능과 jquery기능을 사용하였었다. 그런데 도통 왜 안되는지 이유를 모르겠다.
test용으로 하다가 되기도 했는데 script부분을 html보다 아래에(선언되지 않은 함수가 먼저 나오면 인식을 못해서) 두어서 해결하기도 했었다. 브라우저 오류 메시지를 보면 jquery cdn설정을 추가를 안해서 그런가 했는데 추가해도 여전히 안됐고 예전에는 그런거 없이도 작동했었다는게 문제다. 우선 다른 방법들도 써가면서 해봐야겠다.