Próbuję użyć 2 Widok resolwera:wiosny MVC z wielu widoków przeliczniki
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<context:component-scan base-package="com.evgeni.dfr.controller" />
<context:annotation-config />
<mvc:annotation-driven />
<bean id="viewResolver"
class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="cache" value="false" />
<property name="viewClass" value="com.evgeni.drf.faces.FacesView" />
<property name="prefix" value="/WEB-INF/pages/" />
<property name="suffix" value=".xhtml" />
<property name="order" value="1" />
</bean>
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/WEB-INF/views/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
<property name="order" value="0" />
</bean>
</beans>
Aplikacja zawsze używa tylko jednego z najniższego rzędu, a nie inny. W tym przypadku, jeśli mój kontroler zwróci "someView", aplikacja odpowie z numerem The requested resource (/MyProject/WEB-INF/views/someView.jsp) is not available.
, nawet jeśli istnieje "pages/someView.xhtml".
Wiosna wersja - 3.2.3
Edit: Jeśli mam 2 metody w kontrolerze i metodaA powraca "viewA" i metodaB zwraca "viewB". I mamy viewA.jsp w folderze "widoki" i viewB.xhtml na "stronach".
Przypadek 1: UrlBasedViewResolver -> celu = 1, InternalResourceViewResolver -> celu = 2
metodaA ->The requested resource (/MyProject/WEB-INF/pages/viewA.xhtml) is not available.
;
methodB -> OK
Przypadek 2: UrlBasedViewResolver -> celu = 2, InternalResourceViewResolver -> celu = 1
metodaA -> ok;
methodB -> `The requested resource (/MyProject/WEB-INF/views/viewB.jsp) is not available.`;
Zaktualizowałem moje pytanie, mam nadzieję, że teraz będzie bardziej przejrzyste. –
Sprawdź moją edycję. Jaki jest twój przypadek użycia. Dlaczego używasz tych dwóch UrlBasedViewResolver. –