[…] 봄 MVC 내부자원뷰리저 예제 […] 나는 대답을 직접주고있다 : 실제로 여기에 설명 된 대로 암시적 매핑 규칙이있다 : http://www.mkyong.com/spring-mvc/spring-mvc-controllerclassnamehandlermapping-example/ 섹션 16.3, “컨트롤러”라는 섹션에서 설명한 바와 같이, 스프링 웹 MVC 프레임워크의 모든 컨트롤러는 ModelAndView 인스턴스를 반환합니다. 봄의 뷰는 뷰 이름으로 처리되고 뷰 확인 확인에 의해 확인됩니다. 봄은 꽤 많은 보기 해결사와 함께 제공됩니다. 우리는 그들 중 대부분을 나열하고 몇 가지 예를 제공합니다. 스프링은 두 개 이상의 뷰 해결 을 지원합니다. 이렇게 하면 확인자를 연결할 수 있으며, 예를 들어 특정 상황에서 특정 뷰를 재정의할 수 있습니다. 연결 뷰 확인자는 매우 간단합니다 – 응용 프로그램 컨텍스트에 두 개 이상의 확인자를 추가하고 필요한 경우 order 속성을 설정하여 주문을 지정합니다. 순서 속성이 높을수록 나중에 뷰 확인자가 체인에 배치됩니다. 이전 예제에 관해서는 이전에 정의 된 간단한 jsp 페이지를 사용할 수 있습니다. 캐싱에 대한 참고 사항 – AbstractCachingViewResolver 캐시 뷰 뷰 뷰 뷰뷰가 해결한 하위 클래스입니다. 이렇게 하면 특정 뷰 기술을 사용할 때 성능이 크게 향상됩니다. 캐시 속성을 false로 설정하여 캐시를 끌 수 있습니다.

또한 런타임에 특정 뷰를 새로 고칠 수 있어야 하는 경우(예: 속도 템플릿이 수정된 경우) removeFromCache(문자열 뷰 이름, 로케일 loc) 메서드를 사용할 수 있습니다. 다음 예제에서는 InternalResourceViewResolver의 작동 방식을 보여 준다: UrlBasedViewResolver 봄의 예제입니다. 봄 웹 응용 프로그램에서 UrlBasedViewResolver를 사용하는 방법에 대해 알아봅니다. 여기에 설명된 예제 코드를 사용하여 URL 기반 보기 해결 프로그램의 사용을 알아볼 수 있습니다. URLBasedViewResolver의 예제 코드를 다운로드하고 테스트합니다. UrlBasedViewResolver 및 하위 클래스에서 궁극적으로 해결될 뷰 이름에 대한 접두사라는 특수 전달을 사용할 수도 있습니다. 이 모든 작업을 수행 하면 내부 ResourceView (궁극적으로 수행 하는 RequestDispatcher.forward()) 나머지 보기 이름 주위에, URL로 간주 됩니다. 따라서 InternalResourceViewResolver / InternalResourceView를 사용할 때는 이 접두사를 사용할 때(예: JSP의 경우) 이 접두사를 사용할 때는 사용하지 않지만, 주로 다른 뷰 기술을 사용할 때 는 잠재적으로 사용하지만 앞으로 강제로 사용하려는 경우 서브릿지/JSP 엔진에서 처리할 리소스에 대해 대신 여러 뷰 확인자를 연결할 수도 있습니다. 뷰가 렌더링되기 전에 클라이언트로 HTTP 리디렉션을 다시 발행하는 것이 바람직한 경우도 있습니다. 예를 들어 한 컨트롤러가 POSTed 데이터로 호출되고 응답이 실제로 다른 컨트롤러에 대한 위임(예: 성공적인 양식 제출)에 대한 위임인 경우와 같은 것이 바람직합니다. 이 경우 일반 내부 전달은 다른 컨트롤러가 동일한 POST 데이터도 표시된다는 것을 의미하며, 이는 다른 예상 데이터와 혼동할 수 있는 경우 잠재적으로 문제가 될 수 있습니다. 결과를 표시하기 전에 리디렉션을 수행하는 또 다른 이유는 사용자가 양식 데이터를 이중으로 제출할 가능성을 제거하기 때문입니다.

브라우저는 초기 POST를 보냈을 것이고, 리디렉션을 다시 보았고 그 때문에 후속 GET을 수행했을 것이며, 지금까지 현재 페이지는 POST의 결과를 반영하지 않고 GET의 결과를 반영합니다. 따라서 새로 고침을 수행하여 사용자가 실수로 동일한 데이터를 다시 POST할 수 있는 방법은 없습니다.

Scroll Up