해결된 질문
작성
·
98
0
@RequestMapping("/response-view-v2")
public String responseViewV2(Model model) {
model.addAttribute("data", "hello");
log.info("data={}", model.getAttribute("data"));
return "response/hello";
}
여기서 받는 파라미터 Model은 인터페이스고 이를 구현한 몇 가지가 있습니다. 구현된 것들은 addAttribute 메서드 또한 구현해 놨는데 어떤 게 model로 넘어오는지 모르겠습니다.ㅠ
public class ConcurrentModel extends ConcurrentHashMap<String, Object> implements Model {
public ConcurrentModel(String attributeName, Object attributeValue) {
this.addAttribute(attributeName, attributeValue);
}
}
몇가지 구현체들중에 같은 메서드를 가지고있고, 이걸 사용하는 거 같은데 어떻게 이게 선택이 되는 건가요??
답변 1
0
안녕하세요. 권정익님, 공식 서포터즈 코즈위버입니다.
말씀하신것처럼 Model 인터페이스를 구현한 여러 객체가 존재하며
어떤 구현체를 사용할지는 스프링 프레임워크가 알아서 선택하게 됩니다.
일반적으로 'ExtendedModelMap' 을 구현체로 사용하게 됩니다.
감사합니다.