programing

봄에 모델앤뷰 대 모델을 언제 사용해야 합니까?

powerit 2023. 8. 16. 22:42
반응형

봄에 모델앤뷰 대 모델을 언제 사용해야 합니까?

이것은 말도 안 되는 소리로 들릴지도 모릅니다.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

반응형