View Resolver

강상은·2023년 12월 3일
0

뷰 리졸버(View Resolver)는 웹 애플리케이션에서 뷰(화면)를 찾고 렌더링하는 프로세스를 관리하는 컴포넌트입니다. 주로 웹 애플리케이션에서 컨트롤러(Controller)가 데이터를 처리한 후 해당 데이터를 어떤 뷰에 표시할지를 결정하는 역할을 합니다. 다음은 뷰 리졸버의 뜻, 역할 및 예시를 자세히 설명한 것입니다

1. 뷰 리졸버의 뜻:

"뷰 리졸버"라는 용어는 "뷰(화면)를 해석하고 찾아주는 역할"을 나타냅니다.
웹 애플리케이션에서 컨트롤러가 처리한 데이터를 특정 뷰(HTML, JSP, Thymeleaf, FreeMarker, 등)와 연결하는 데 사용됩니다.

2. 뷰 리졸버의 역할:

URL 매핑에 따라 요청을 처리하는 컨트롤러가 실행되고, 데이터를 처리한 후에 특정 뷰에 전달합니다.
뷰 리졸버는 이 뷰를 찾아주는 역할을 합니다.
뷰 리졸버는 뷰의 이름(파일 경로 또는 논리적인 이름)을 실제 뷰로 변환하고, 렌더링할 수 있는 형태로 반환합니다.
이러한 변환을 통해 웹 애플리케이션은 사용자에게 렌더링된 HTML 페이지를 표시할 수 있습니다.

3. 뷰 리졸버의 예시:

Spring Framework에서 JSP 뷰 리졸버 예시:

xmlCopy code

        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/WEB-INF/views/"/>
            <property name="suffix" value=".jsp"/>
        </bean>

이 예시에서는 "InternalResourceViewResolver"를 사용하여 JSP 뷰를 처리합니다.
"prefix" 속성은 JSP 파일 경로의 접두사를 정의하며, "suffix" 속성은 파일 확장자를 정의합니다.

예를 들어, "/WEB-INF/views/" 디렉토리에 있는 "home.jsp" 라는 파일을 렌더링하려면 컨트롤러가 "home"를 반환하면 뷰 리졸버는 이를 "/WEB-INF/views/home.jsp"로 변환하고 해당 JSP 파일을 렌더링합니다.

Spring Boot에서 Thymeleaf 뷰 리졸버 예시:

    propertiesCopy code
    spring.thymeleaf.prefix=classpath:/templates/
    spring.thymeleaf.suffix=.html

    

이 예시에서는 Spring Boot의 Thymeleaf 뷰 리졸버를 설정합니다.
"spring.thymeleaf.prefix"는 Thymeleaf 템플릿 파일이 있는 경로를 정의하고, "spring.thymeleaf.suffix"는 파일 확장자를 정의합니다.
이 설정을 통해 Thymeleaf 템플릿 엔진을 사용하여 HTML 파일을 렌더링할 수 있습니다.

  • 뷰 리졸버는 뷰의 위치 및 형식을 관리하고, 컨트롤러와 함께 웹 애플리케이션에서 동적인 컨텐츠를 생성하고 표시하는 데 중요한 역할을 합니다.
  • 각 프레임워크 및 뷰 엔진에 따라 설정 방법과 세부적인 동작이 다를 수 있으므로 해당 프레임워크 또는 뷰 엔진의 문서를 참조하여 설정 및 사용법을 확인하는 것이 중요합니다.

0개의 댓글