작성
·
464
0
등록은 되는데 리스트에서 조회가 되지 않습니다.
MemberController.java
package hello.hellospring.controller;
import hello.hellospring.domain.Member;
import hello.hellospring.service.MemberService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import java.util.List;
@Controller
// memberController객체를 생성해서 Spring에 넣어둠
public class MemberController {
private final MemberService memberService;
@Autowired
//생성자에 Autowired라고 되어 있으면 memberService를 Spring 컨테이너에 연결
public MemberController(MemberService memberService) {
this.memberService = memberService;
}
@GetMapping("/members/new")
public String createForm(){
return "members/createMemberForm";
}
@PostMapping("/members/new")
public String create(MemberForm form){
Member member = new Member();
member.setName(form.getName());
//System.out.println("member = " + member.getName());
memberService.join(member);
return "redirect:/";
}
@GetMapping("/members")
public String list(Model model){
List<Member> members = memberService.findMembers();//Model들을 다 가져올 수 있음
model.addAttribute("members", members);
return "members/memberList";
}
}
memberList.html
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<body>
<div class="container">
<div>
<table>
<thead>
<tr>
<th>#</th>
<th>이름</th>
</tr>
</thead>
<tbody>
<tr th:each="member : ${members}">
<td th:text="${member.id}"></td>
<td th:text="${member.name}"></td>
</tr>
</tbody>
</table>
</div>
</div> <!-- /container -->
</body>
</html>
해당 질문이 좀 많은 거 봐서 나중에 보완을 하시면 더 좋을 거 같다는 생각도 듭니다
답변 2
0
프로젝트 코드 확인해보았습니다.
우선 강의와 강의 메뉴얼에서 자바버전 11 설치를 설명드렸으나,
자바 버전 17을 선택하셔서 11로 변경 후 진행하였습니다.
조회가 안되는 이유는
전체조회(findAll)의 반환을 null로 하여 등록한 데이터가 조회되지 않은 것입니다.
findAll은 아래와 같이 작성해주세요.
추가로, 강의에서 findAll 로 소문자 l인데 대문자 L로 작성한 부분이 있습니다.
이 부분도 수정하셔야 추후 강의 수강에 차질없이 진행 가능합니다.
(findALl 을 작성한 MemberRepository, MemoryMemberRepository, + findALl을 호출한 테스트 코드)
올려주신 코드 확인 결과 보완이 필요하다고 생각하는 부분은 없는 것 같아요.
강의 수강 중 보완이 필요하다고 생각하시는 내용 있으면 언제든 질문 남겨주세요 :)
0
안녕하세요. TAESEUNG CHOI님, 공식 서포터즈 OMG입니다.
강의 보완이 필요한지, 강의와 동일하게 진행하시지 않아 발생한 문제인지 우선 코드를 살펴봐야 알 것 같습니다. 아래 설명을 참고하여 댓글남겨주세요. 코드 확인후 답변드리겠습니다:)
전체 프로젝트를 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.
구글 드라이브 업로드 방법은 다음을 참고해주세요.
https://bit.ly/3fX6ygx
주의: 업로드시 권한 문제 꼭 확인해주세요
공유 기본 설정은 비공개로 되어 있어 업로드 한 본인 계정만 접근이 가능합니다.
본인 계정이 아닌 링크를 통한 타 계정 접근이 가능한지 확인하는 방법은 업로드 한 구글 계정을 로그아웃하고 링크를 접속하여 ""액세스 권한 요청 화면""이 출력되는지 확인을 해주세요.
감사합니다
자세한 설명 감사합니다. 저는 리스트가 안 뜬다는 사람들이 많길래 강의에 문제가 있나? 했었네요 감사합니다.