inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

회원 웹 기능 - 조회

리스트가 나오질 않습니다

534

bach

작성한 질문수 3

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>

 

 

해당 질문이 좀 많은 거 봐서 나중에 보완을 하시면 더 좋을 거 같다는 생각도 듭니다

MVC java spring-boot spring

답변 2

0

OMG

프로젝트 코드 확인해보았습니다.

우선 강의와 강의 메뉴얼에서 자바버전 11 설치를 설명드렸으나,

자바 버전 17을 선택하셔서 11로 변경 후 진행하였습니다.

 

 

 

조회가 안되는 이유는

전체조회(findAll)의 반환을 null로 하여 등록한 데이터가 조회되지 않은 것입니다.

 

findAll은 아래와 같이 작성해주세요.

 

추가로, 강의에서 findAll 로 소문자 l인데 대문자 L로 작성한 부분이 있습니다.

이 부분도 수정하셔야 추후 강의 수강에 차질없이 진행 가능합니다.

(findALl 을 작성한 MemberRepository, MemoryMemberRepository, + findALl을 호출한 테스트 코드)

 

올려주신 코드 확인 결과 보완이 필요하다고 생각하는 부분은 없는 것 같아요.

강의 수강 중 보완이 필요하다고 생각하시는 내용 있으면 언제든 질문 남겨주세요 :)

 

 

 

 

 

 

 

 

0

bach

자세한 설명 감사합니다. 저는 리스트가 안 뜬다는 사람들이 많길래 강의에 문제가 있나? 했었네요 감사합니다.

0

OMG

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

강의 보완이 필요한지, 강의와 동일하게 진행하시지 않아 발생한 문제인지 우선 코드를 살펴봐야 알 것 같습니다. 아래 설명을 참고하여 댓글남겨주세요. 코드 확인후 답변드리겠습니다:)

 

전체 프로젝트를 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.

구글 드라이브 업로드 방법은 다음을 참고해주세요.

 

https://bit.ly/3fX6ygx

 

주의: 업로드시 권한 문제 꼭 확인해주세요

공유 기본 설정은 비공개로 되어 있어 업로드 한 본인 계정만 접근이 가능합니다.

 

본인 계정이 아닌 링크를 통한 타 계정 접근이 가능한지 확인하는 방법은 업로드 한 구글 계정을 로그아웃하고 링크를 접속하여 ""액세스 권한 요청 화면""이 출력되는지 확인을 해주세요.

 

감사합니다

0

bach

https://drive.google.com/file/d/1J3Sz3PILh5G8E5sCy71WCu7vKGjneI1C/view?usp=sharing

링크입니다

인텔리제이 오류

0

57

1

..

0

121

2

Unused property.....

0

122

2

project JDK is misconfigured

0

170

2

외부 API의 ID 타입(String/UUID)과 내부 도메인의 ID 타입(Long)이 불일치할 때의 설계 정석

0

102

2

단위/통합 테스트 버전충돌 문제

0

104

2

❗️springboot 4.0.2 버전 aspectj dependency 설정❗️

0

261

1

왜 컨트롤러는 변한게 없는데 새로 만든 html 파일이 뜨나요?

0

125

2

윈도우 build test오류 질문

1

123

2

테스트 관련 공부에 대한 조언을 얻고 싶습니다

0

117

2

테스트 실행 시 에러 질문

0

326

1

name을 통한 비교와 객체를 통한 비교

0

83

1

빌드 후 libs 없음

1

155

1

윈도우 gradlew.bat 에러

0

189

1

@PostMapping("/members/new")가 동작하지 않습니다

0

99

1

java static class와 kotlin class

0

92

1

스프링 DB연결

0

149

1

소요 시간

0

97

2

ddl.sql에 빨간 밑줄

1

119

2

welcome page 에러

0

205

3

잘 모르겠습니다.

0

178

2

fail을 똑같이 쳤는데 오류가 발생해요

0

181

2

index.html Welcome page

0

142

1

프로젝트 gradle-groovy ?

0

409

1