복붙노트

[SPRING] 여러 개의 InternalResourceViewResolver 만들기

SPRING

여러 개의 InternalResourceViewResolver 만들기

디스패처 서블릿에 여러 개의 InternalResourceViewResolver를 만들 수 있는지 궁금합니다.

이 같은 ,

<bean id="jspViewResolver"
          class="org.springframework.web.servlet.view.InternalResourceViewResolver"
          p:prefix="/WEB-INF/jsp/"
          p:suffix=".jsp" /> 

그리고 다른보기 해석자 (resolver)

<bean id="jspViewResolver"
          class="org.springframework.web.servlet.view.InternalResourceViewResolver"
          p:prefix="/WEB-INF/folder/jsp/"
          p:suffix=".jsp" /> 

여러 개의보기 확인자를 만드는 것에 대해서는 언급하지 않습니다. 예를 들어, Tiles, XML보기 확인자

여기에서 시도한 것처럼 두 개의 다른 InternalResourceViewResolver를 구성해야하지만 명확하게 이해할 수는 없습니다. 달성 할 수 있습니까?

미리 감사드립니다.

해결법

  1. ==============================

    1.아닙니다. Javadoc에서 언급 한 것과 같은 이유 때문에 오직 하나만 가질 수 있습니다.

    아닙니다. Javadoc에서 언급 한 것과 같은 이유 때문에 오직 하나만 가질 수 있습니다.

    InternalResourceViewResolver는 항상 응답을 리턴합니다 (Servlet API에 위임하기 때문에 오류가 있어도 항상 응답이 있음). 따라서 두 개 중 하나를 사용하면 아무 것도 얻을 수 없으므로 두 번째 응답은 절대로 사용되지 않습니다.

    JSP 뷰 이름을 단일 해석자로 재 매핑하는 또 다른 방법을 찾아야 할 것이다.

  2. ==============================

    2.하지만 두 개의 다른보기 확인자를 사용할 수 있습니다. InternalViewResolver의 순서를 마지막으로 정하십시오.

    하지만 두 개의 다른보기 확인자를 사용할 수 있습니다. InternalViewResolver의 순서를 마지막으로 정하십시오.

        <bean id="viewResolver"
        class="org.springframework.web.servlet.view.UrlBasedViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
        <property name="prefix" value="/WEB-INF/pages1/" />
        <property name="suffix" value=".jsp" /> 
        <property name="order" value="0" />
    </bean>
    
        <bean
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix">
            <value>/WEB-INF/pages2</value>
        </property>
        <property name="suffix">
            <value>.jsp</value>
        </property>
        <property name="order" value="1" />
        </bean>
    
  3. from https://stackoverflow.com/questions/25055610/creating-multiple-internalresourceviewresolver by cc-by-sa and MIT license