2013-09-04 2 views

답변

19

스프링 3.2.x에는 그 중 3 개 이상이 있습니다. Spring website에있는 문서를 참조하십시오. 최신 봄 (4.2.x) documentation. 다음은

지원 리턴 종류 :

  • 내재적 명령 목적 및 @ModelAttribute 주석 참조 데이터 접근 방법의 결과 농후 모델로 의 ModelAndView 객체

    .
  • 모델 개체이며 뷰 이름은 RequestToViewNameTranslator를 통해 암시 적으로 결정되며 모델에는 암시 적으로 명령 개체와 주석 처리 된 참조 데이터 접근 자 메서드의 결과가 풍부합니다.
  • 지도는 RequestToViewNameTranslator를 통해 암시 적으로 결정된 뷰 이름과 모델 개체가 암시 적으로 풍부해진 모델 및 주석이 달린 참조 데이터 접근 자 메서드의 결과를 모델에 표시하기위한 개체입니다.
  • 보기 개체는 명령 객체를 통해 암시 적으로 결정되고 @ModelAttribute 주석이 달린 참조 데이터 접근 자 메서드가 있습니다. 처리기 메서드는 Model 인수를 선언하여 모델을 프로그래밍 방식으로 보강 할 수도 있습니다 (위 참조).
  • 문자열은 논리적보기 이름으로 해석되며 모델은 암시 적으로 명령 개체와 @ModelAttribute 주석이 달린 참조 데이터 접근 자 메서드를 통해 결정됩니다. 처리기 메서드는 Model 인수를 선언하여 모델을 프로그래밍 방식으로 보강 할 수도 있습니다 (위 참조).
  • void 메서드가 응답 내용을 직접 처리하거나 (이 경우 응답 형식을 직접 작성하고 그 목적으로 ServletResponse/HttpServletResponse 형식의 인수를 선언 함) Request.ViewNameTranslator를 통해 뷰 이름이 암시 적으로 결정된 경우 (void 핸들러 메서드 서명의 응답 인수).
  • 메서드에 @ResponseBody이 붙어 있으면 반환 형식이 응답 HTTP 본문에 기록됩니다. 반환 값은 HttpMessageConverters를 사용하여 선언 된 메서드 인수 유형으로 변환됩니다. "@ResponseBody 주석이있는 응답 본문 매핑"섹션을 참조하십시오.
  • HttpEntity ** 또는 ** ResponseEntity Servlet 응답 HTTP 헤더 및 내용에 대한 액세스를 제공하는 개체. 엔티티 본문은 HttpMessageConverters를 사용하여 응답 스트림으로 변환됩니다. "HttpEntity 사용"절을 참조하십시오.
  • 호출 가능은 응용 프로그램이 Spring MVC가 관리하는 스레드에서 비동기 적으로 반환 값을 생성하고자 할 때 반환 될 수 있습니다.
  • 응용 프로그램이 자신이 선택한 스레드에서 반환 값을 생성하려는 경우 DeferredResult을 반환 할 수 있습니다.
  • 다른 모든 반환 형식은 메서드 수준 (또는 반환 형식 클래스 이름을 기반으로하는 기본 특성 이름)에서 @ModelAttribute을 통해 지정된 특성 이름을 사용하여 뷰에 노출되는 단일 모델 특성으로 간주됩니다. 모델은 명령 개체와 주석이 달린 참조 데이터 접근 자 메서드의 결과를 통해 암시 적으로 풍부 해집니다.
2

반환 유형이 void이거나 메소드를 @ResponseBody으로 주석 처리하지 않는 한, Spring MVC는 응답을 렌더링하기 위해 View을 해결하려고 시도합니다.

따라서, 당신은 어떻게 든 View 인스턴스 또는 반환 값 String으로 뷰의 이름으로 프레임 워크를 지정해야합니다 (또는 해결 암시에 의존 아마도에만 Model을 반환) 이름을 반환하는 경우 (String 또는 ModelAndView에 포함 된 경우) 구성된 ViewResolver으로 전달되어 실제 View 인스턴스를 가져옵니다.

ModelAndView 컨테이너는 View 또는 뷰 이름에 대한 참조를 보유하고 있으며 사용할 모델을 포함합니다.

관련 문제