ho cercato di utilizzare 2 visualizza resolver:Spring MVC con vista multipli resolver
<?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>
l'applicazione utilizza sempre solo quella con l'ordine più basso e non l'altro. Nel caso corrente se il mio controller restituisce "SomeView", l'app risponderà con The requested resource (/MyProject/WEB-INF/views/someView.jsp) is not available.
anche se è presente "pages/someView.xhtml".
versione Spring - 3.2.3
Edit: Se ho 2 metodi di controllo e Methoda restituisce "viewA" e MethodB restituisce "viewB". E abbiamo viewA.jsp nella cartella 'views' e viewB.xhtml in 'pages'.
Case1: UrlBasedViewResolver -> ordine = 1, InternalResourceViewResolver -> ordine = 2
Methoda ->The requested resource (/MyProject/WEB-INF/pages/viewA.xhtml) is not available.
;
methodB -> OK
Case2: UrlBasedViewResolver -> ordine = 2, InternalResourceViewResolver -> ordine = 1
Methoda -> OK;
methodB -> `The requested resource (/MyProject/WEB-INF/views/viewB.jsp) is not available.`;
Ho aggiornato la mia domanda, spero che ora sia più chiara. –
Controlla la mia modifica. Qual è il tuo caso d'uso. Perché stai usando quei due UrlBasedViewResolver. –