Ich habe versucht 2 Ansicht Resolvern zu verwenden:Spring MVC mit mehreren Ansichten Resolvern
<?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>
Die Anwendung nutzt immer nur die mit der niedrigsten Ordnung und das andere nicht. Im aktuellen Fall, wenn mein Controller "someView" zurückgibt, wird die App mit The requested resource (/MyProject/WEB-INF/views/someView.jsp) is not available.
antworten, auch wenn "pages/someView.xhtml" vorhanden ist.
Frühling Version - 3.2.3
Edit: Wenn ich zwei Methoden in der Steuerung und methodA gibt "ViewA" und methodeB gibt "ViewB". Und wir haben viewA.jsp im Ordner 'views' und viewB.xhtml in 'pages'.
Case1: UrlBasedViewResolver -> order = 1, InternalResourceViewResolver -> 2 order =
methodA ->The requested resource (/MyProject/WEB-INF/pages/viewA.xhtml) is not available.
;
methodB -> OK
Case2: UrlBasedViewResolver -> bestellen = 2, InternalResourceViewResolver -> order = 1
methodA -> OK;
methodB -> `The requested resource (/MyProject/WEB-INF/views/viewB.jsp) is not available.`;
Ich habe meine Frage aktualisiert, hoffe, dass es jetzt klarer ist. –
Überprüfen Sie meine Bearbeitung. Was ist dein Anwendungsfall? Warum verwenden Sie diese beiden UrlBasedViewResolver? –