2014-05-21 2 views
0

나는 스프링 MVC 응용 프로그램에서 작업 및 webmvc-config.xml에에서이 줄을 발견 해요 : 나는 그것을 시도했습니다이 mvc : view-controller 동작은 어디에 문서화되어 있습니까?

<mvc:view-controller path="/testView" /> 

나는 내가로부터 /myTestPath를 쳤을 때 알고 브라우저, 다음과 같이 봄은 타일로 정의 된보기로 요청을 매핑된다

<definition name="testView" extends="default"> 
    <put-attribute name="body" value="/WEB-INF/views/testPage.jspx" /> 
</definition> 

을하지만 어떻게 그리고 왜 모르겠어요. 봄 문서는 말한다 :

, 간단한 컨트롤러 내가 ParameterizableViewController를 이해

<!-- Forwards requests to the "/" resource to the "welcome" view --> 
<mvc:view-controller path="/" view-name="welcome" /> 

:이 예를을 "내부적으로 MVC 뷰 - 컨트롤러가 렌더링 뷰를 선택하는 ParameterizableViewController를 등록"을 보여줍니다 viewName 속성을 기반으로 명명 된 뷰를 반환합니다.

그러나 "mvc : view-controller"줄을 선언 할 때 viewName을 지정하지 않으면 계속되는 내용을 찾을 수 없습니다.

누군가가 나를 계몽 할 수 있다면 나는 오늘 밤 더 잘 것입니다 .... ú__ù 대단히 감사합니다!

답변

2

는 리턴 타입이 void와 @RequestMapping 방법을 지정하는 것처럼 당신은 행동이 정확히 동일합니다 뷰 이름을 지정하지 않으면 :

인용 스프링 프레임 워크 문서 : http://docs.spring.io/spring/docs/4.0.0.RELEASE/spring-framework-reference/htmlsingle/#mvc-ann-return-types

무효 메소드가 응답 내용을 직접 처리하거나 (그 용도로 ServletResponse/HttpServletResponse 유형의 인수를 선언함으로써) 또는 뷰 이름이 RequestToViewNameTranslator를 통해 암시 적으로 결정된 것으로 간주되는 경우 (핸들러에서 응답 인수를 선언하지 않은 경우) 메소드 서명).

즉, RequestToViewNameTranslator이라는 구성 요소는 요청 경로를 기반으로보기 이름을 파악하려고합니다. 여기

이 RequestToViewNameTranslator의 javadoc에서 일부 샘플은 다음과 같습니다

http://test:8080/gamecast/display.html -> display 

http://test:8080/gamecast/displayShoppingCart.html -> displayShoppingCart 

http://test:8080/gamecast/admin/index.html -> admin/index 

동일한 논리가 귀하의 경우에 적용됩니다, /testViewtestView 뷰 이름

+0

안녕하세요 비주 Kunjummen로 변환합니다! 첫째, 시간 내 주셔서 대단히 감사합니다. :) 그래서, 내가 이해한다면,이 RequestToViewNameTranslator 구성 요소는 뷰 이름이 암시 적으로 지정되지 않았을 때 기본적으로 호출됩니다. 맞습니까? 그리고 ParameterizableViewController가 void 유형의 @RequestMapping처럼 작동한다는 것을 어떻게 알 수 있습니까? 내 말은, 이것이 문서화 된 것인가? 다시 한번 감사드립니다. –

+0

예 @ RocíoGarcíaLuque, 그것은 javadocs에 언급되어 있습니다 :-), 당신이 그것을 놓칠 수도 있습니다 - http://docs.spring.io/spring/docs/4.0.5.RELEASE/javadoc-api/org/springframework/web /servlet/mvc/ParameterizableViewController.html –

+0

"이 속성이 설정되어 있지 않으면 호출자에게 현재 요청의보기 이름을 계산하도록 지시하는 null보기 이름이 반환됩니다."... 대단히 감사합니다! –

관련 문제