Spring MVC를 사용하여 애플리케이션을 구축 중이다. 응용 프로그램의 모든 컨트롤러에 대해 모델을 변경하고 싶습니다. 특히, 응용 프로그램의 모든 페이지에 대해 표시 될 특정 추가 데이터를 모델에 삽입하려고합니다.IOC에 관심이있는 경우 Spring MVC에서 내 모델을 수정하는 가장 좋은 방법
나는 여러 가지 방법을 사용할 수 있습니다. 모든 컨트롤러 끝에 데이터를 추가하고, 추가 데이터를 추가하는 Model의 하위 클래스를 사용하고, Model을 래핑하는 ModelAndView의 하위 클래스를 사용하고, 래핑하는 VelocityView의 하위 클래스를 사용합니다. 모델을 사용하기 전에 ... 다른 옵션이있을 것입니다.
그러나 나는 "우아함"이라는 제약이 있습니다. 각 컨트롤러에 코드를 쓰고 싶지 않습니다.이 동작을 one-and-only-one 곳에 정의하고 싶습니다. 이상적으로는 IOC Bean 설정 파일에 의해 제어된다.
우아하게이를 달성하는 방법에 대한 권장 사항이 있습니까?
나는 당신이 만들고있는 구별을 이해하고 있는지 잘 모르겠다. 나는 스프링의 "모델"이 "뷰에 사용 가능한 데이터"라고 생각했다. 보기에서 데이터를 사용할 수있는 다른 방법이 있다면 무엇입니까? – mcherm
SimpleFormController에서 referenceData 메소드에 대해 생각하면 모델에 정보를 넣지 않고 "뷰에 정보를 제공"하는 예제입니다. 그러나 예, belugabob의 단일 책임 이의는 모델이 단일 대상이지만지도 일 때만 적용됩니다. –
'모델'과 '값 스택'을 구분하지 않습니까? 모델의 데이터는 수행되는 작업과 직접 관련이 있으며 값 스택의 데이터가이를 지원하기 위해 자주 사용됩니다. 단일 국가는 종종 모델의 일부이며, 모든 국가는 종종 데이터를 지원합니다. – belugabob