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

kwanjungkim님의 프로필 이미지
kwanjungkim

작성한 질문수

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

Model 추가 - v3

MyView.java 내 render 질문입니다.

작성

·

465

0

현재 프로젝트 java SE 1.8 사용중입니다.

model.forEach(key, value) -> request.setAttribute(key, value)

이 부분에서 앞부분이 변수여야한다면서 에러가 생기는데요,

forEach 자동 생성 시에 forEach(action) 으로 자동완성이 되더라구요.

 

다른 답글에서 영한님이 자바 8 문법 지원을 하게끔 시도해보라고 답변하신 걸 봤는데,

어떻게 해야하는지 감이 안잡힙니다.

 

추가적으로 iterator 구문도 안되어서 일단 while문으로 변경해서 사용중입니다.

답변 1

0

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

저의 경우 1.8로 확인하였을 시 asIterator는 호출할 수 없고(안되는게 맞습니다.)

model.forEach는 정상동작하는데요,

image

아래와 같이 작성하신게 맞을까요?

private void modelToRequestAttribute(Map<String, Object> model, HttpServletRequest request) {
    model.forEach((key, value) -> request.setAttribute(key, value));
}

혹은 아래와 같이 메서드 레퍼런스 방식으로 변경가능합니다.

private void modelToRequestAttribute(Map<String, Object> model, HttpServletRequest request) {
    model.forEach(request::setAttribute);
}


.
감사합니다.

kwanjungkim님의 프로필 이미지
kwanjungkim

작성한 질문수

질문하기