봄에 모델앤뷰 대 모델을 언제 사용해야 합니까?
이것은 말도 안 되는 소리로 들릴지도 모릅니다.Spring
전문가들, 하지만 나는 물어봐야 합니다:
사용 시기를 어떻게 결정합니까?ModelAndView
사용 시기 및Model
?
결국 제가 조사한 것 중 가장 좋은 답은 이것입니다.그것은 언급했습니다.ModelAndView
오래된 방법이며Model
와 함께String
반환되는 것은 의 새로운 방법입니다.Spring
.
나의 질문은 우리가 오래된 것을 경시할 것인가 하는 것입니다.ModelAndView
이제는Model
수중에?아니면 당신이 사용해야 할 경우가 있습니까?ModelAndView
그것 때문에?
또한, 왜 그들이 변해야 하는지 아는 사람?ModelAndView
로.Model
그리고.String
로서 중요시하는.View
그리고 어떤 혜택이 있습니까?
나는 항상 컨트롤러 메소드가 반환되는 접근 방식을 사용합니다.ModelAndView
단순히 컨트롤러 방법을 좀 더 간결하게 만드는 경향이 있기 때문입니다.메소드 매개 변수는 이제 엄격하게input
매개 변수그리고 모두output
메서드에서 반환된 개체에 관련 데이터가 포함되어 있습니다.
그ModelAndView
스타일은 입력 매개 변수를 메소드에 업데이트하는 것을 좋아하지 않는 사람들에게 반향을 일으키는 것 같습니다.이것이 부작용을 구성할 것이라는 믿음, 즉 방법이 무엇을 할 것인지 신뢰할 수 있게 예측할 수 없기 때문에 위험한 패턴을 고수합니다. 반환된 개체의 데이터를 반환하거나 입력 인수의 모든 것을 업데이트할 수 있습니다.
그래서 어떤 사람들은 여전히 계속해서 선호할 것입니다.ModelAndView
.
새로운 스타일은Model
메서드 매개 변수로 반환되고 문자열을 뷰 이름으로 반환합니다.약간 다른 디자인 접근 방식에서 나온 것 같습니다.여기서 모델 개체는 렌더링되는 뷰로 돌아가기 전에 여러 핸들러에 전달되는 이벤트 또는 항목의 일종으로 간주됩니다.AWT/스윙 세계에서 이벤트가 어떻게 처리되는지 상기시켜 줍니다.이 모델은 여러 핸들러가 위에 구축할 수 있는 접근 방식과 더 일관성이 있습니다.Model
개체, 보기에 도달할 때까지.
그래서 결국에는 두 가지 접근 방식을 비판하거나 촉진할 확실한 이유가 없는 것 같습니다.전체적인 디자인 철학에 더 부합하는 스타일을 사용해야 합니다.
이게 도움이 되길 바랍니다.
ModelAndView 객체를 사용하면 뷰 객체에 대한 직접 참조를 설정할 수 있습니다.
ModelAndView mav = ...
mav.setView(myView);
모델 및 문자열을 사용하는 경우 뷰 이름을 실제 뷰로 확인하려면 뷰 확인기가 필요합니다.
public String myHandler(...) {
return "myviewname"; // has to have a resolver from "myviewname" into an actual view
}
SEO의 관점에서, 우리는 요구사항이 있다면 ModelAndView를 사용하여 301 리디렉션을 적용할 수 있으며, Model을 사용하여 이를 달성할 수 없습니다.
언급URL : https://stackoverflow.com/questions/16951609/when-to-use-modelandview-vs-model-in-spring
'programing' 카테고리의 다른 글
사용자가 필드를 비활성화하지 않고 텍스트 필드를 입력하지 못하도록 하는 방법은 무엇입니까? (0) | 2023.08.16 |
---|---|
전체 어레이를 덤프하는 중: console.log 및 console.dir 출력 "...더 많은 항목 수]" (0) | 2023.08.16 |
POI 자동 필터 (0) | 2023.08.16 |
yoman full stack generator social oauth 이슈 (0) | 2023.08.16 |
iPhone - 로컬 파일 URL의 NSData (0) | 2023.08.16 |