inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 웹 MVC

@SessionAttributes와 @ModelAttribute 질문있습니다!

323

류석규

작성한 질문수 2

0

--sampleController

-- SampleControllerTest

핸들러 메소드 8부 강의를 듣고 있었는데 test잘 통과하던 createEvent 함수가 sampleController class에 sessionAttributes("event") 애노테이션을 붙이니깐 createEvent 함수가 실행되지 않았습니다. 

--console Error 

여기 강의 질문에서와 구글링 해봐서 나름 찾아본 결과,

ModelAttribute 애노테이션을 쓰면 sessionAttributes("event")에서 있는 지 확인해보는 데 처음에 없으면 에러를 뱉는다. 

였습니다. 그래서 SampleController 클래스에서 @ModelAttribute 선언 대신에 주석 단 위치에 model.addAttribute("event") 하니깐 test 가 에러없이 통과하는 것을 확인했습니다. 

ModelAttribute애노테이션을 쓰면 왜 createEvent test함수가 통과하지 못 하는 이유와 이것을 다른 방법으로 해결할 수 있는 지 궁금합니다.

간단하게라도 참고사항이나 가이드 주시면 감사하겠습니다!

java spring MVC

답변 1

1

백기선

@SessionAttributes에 대해서는 "핸들러 메소드 8부 @SessionAttributes"에서 설명했지만 Model Attribute에 들어가는 객체 중에 일부를 세션에 넣어두고 여러 요청에 걸쳐 사용할 때 쓰라고 만들어 준 것입니다. 

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/bind/annotation/SessionAttributes.html

그러니 세션에 넣으라고 했던 "event"가 없으니 에러가 난거죠. 해결 방법은 모델에 넣어두는게 맞는거구요. 다만 왜 써야 하는지? 무슨 의도로 @SessionAttributes를 쓰려고 한건지.. 그부분을 다시 생각해 보시면 좋겠습니다.

7:58 예제 코드 찾는 법

0

255

2

PATCH의 Idempotent에 대한 질문

0

257

1

2:51초 질문입니다.

0

324

1

만약 어플리케이션컨텍스트에 필터를 설정하지 않으면 어떻게되나요?

0

361

0

web.xml에 위치한 애플리케이션 web.xml 내에서 파싱 오류 발생

0

515

0

Spring Boot 2.6 이상 버전에서의 DispatcherServlet

0

366

1

Event`Xxx`Controller 분리할때의 기준에 관한 질문입니다.

0

634

1

11분 57초 쯤, `returnValueHandlers` 들의 네이밍컨벤션 관련 질문입니다.

0

379

1

@EnableWebmvc 설정을 하면

0

415

1

springframework와의 차이점

0

283

1

@RequestBody의 바인딩에러를 잡는 방법

1

1655

2

안녕하세요 기선님 강의를 보다 서블릿에 궁금증이 생겨 질문 드립니다

1

236

1

HelloService의 값을 전달을 못 받습니다.

0

295

1

ServletContext와 WebApplicationContext의 관계 질문

1

740

1

하나의 서비스에, 두개의 리포지토리도 연결이 되나요?

0

363

1

view name 리턴에 대해

0

290

2

Formatter print 질문 드립니다.

0

232

1

에리 메시지가 한글입니다.

0

293

1

java 클래스파일로 설정되어 있던 것을 web.xml로 바꾸는 경우

0

338

1

@RequestParam

0

255

1

@Retention 질문

0

229

1

Event.builder() 관련 mac에서 lombok 문제 있으신 분들

0

198

1

스프링 부트 사용시 WebMvcConfigurerSupport 클래스

0

252

1

http://localhost:8080/hello 입력시 오류

0

489

4