From 92e7ab43be740bde896b1a6738535f61bb341b49 Mon Sep 17 00:00:00 2001
From: michaelisvy <misvy@gopivotal,com>
Date: Fri, 28 Nov 2014 12:45:57 +0900
Subject: [PATCH] Simplified ContentNegoViewResolver config
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

- Now using namespace, much simpler (11 lines instead of 27)
- Just a minor issue with:
<bean class="org.springframework.web.servlet.view.JstlView">
	<property name="url" value="" />
</bean>
(should investigate later if we can remove “url” attribute
---
 src/main/resources/spring/mvc-view-config.xml | 56 ++++++-------------
 1 file changed, 18 insertions(+), 38 deletions(-)

diff --git a/src/main/resources/spring/mvc-view-config.xml b/src/main/resources/spring/mvc-view-config.xml
index 4413f01..205f7ff 100644
--- a/src/main/resources/spring/mvc-view-config.xml
+++ b/src/main/resources/spring/mvc-view-config.xml
@@ -2,51 +2,31 @@
 <!--
 	- DispatcherServlet application context for PetClinic's web tier.
 -->
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xmlns:oxm="http://www.springframework.org/schema/oxm"
-       xsi:schemaLocation="http://www.springframework.org/schema/oxm
-         http://www.springframework.org/schema/oxm/spring-oxm.xsd
-         http://www.springframework.org/schema/beans
-         http://www.springframework.org/schema/beans/spring-beans.xsd">
+<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xmlns:oxm="http://www.springframework.org/schema/oxm" xmlns:mvc="http://www.springframework.org/schema/mvc"
+	xsi:schemaLocation="http://www.springframework.org/schema/oxm http://www.springframework.org/schema/oxm/spring-oxm.xsd
+		http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd
+		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
     <!--
     - The ContentNegotiatingViewResolver delegates to the InternalResourceViewResolver and BeanNameViewResolver,
     - and uses the requested media type (determined by the path extension) to pick a matching view. 
     - When the media type is 'text/html', it will delegate to the InternalResourceViewResolver's JstlView, 
     - otherwise to the BeanNameViewResolver.
     -->
-    <bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
-        <property name="contentNegotiationManager" ref="cnManager"/>
-        
-        <property name="viewResolvers">
-        	<list>
-        		 <!-- Default viewClass: JSTL view (JSP with html output) -->
-			    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
-			        <!-- Example: a logical view name of 'vets' is mapped to '/WEB-INF/jsp/vets.jsp' -->
-			        <property name="prefix" value="/WEB-INF/jsp/"/>
-			        <property name="suffix" value=".jsp"/>
-			    </bean>
-			
-			    <!-- Used here for 'xml' and 'atom' views  -->
-			    <bean class="org.springframework.web.servlet.view.BeanNameViewResolver"/>
-        	</list>
-        </property>
-    </bean>
+	<mvc:view-resolvers>
+		<mvc:content-negotiation use-not-acceptable="true">
+	    	<mvc:default-views>	    		
+	      		<bean class="org.springframework.web.servlet.view.JstlView">
+	      			<property name="url" value="" />
+	      		</bean>
+	    	</mvc:default-views>
+	  	</mvc:content-negotiation>
+	
+	  	<!-- Registering BeanNameViewResolver and InternalViewResolver -->
+	  	<mvc:bean-name />
+	  	<mvc:jsp prefix="/WEB-INF/jsp/" suffix=".jsp"/>
+	</mvc:view-resolvers>
 
-    <!-- Simple strategy: only path extension is taken into account -->
-    <bean id="cnManager" class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">
-        <property name="favorPathExtension" value="true"/>
-        <property name="ignoreAcceptHeader" value="true"/>
-        <property name="defaultContentType" value="text/html"/>
-        
-        <property name="mediaTypes">
-            <map>
-                <entry key="html" value="text/html" />
-                <entry key="xml" value="application/xml" />
-                <entry key="atom" value="application/atom+xml" />
-            </map>
-        </property>
-    </bean>
 
     <!-- Renders an Atom feed of the visits. Used by the BeanNameViewResolver  -->
     <bean id="vets/vetList.atom" class="org.springframework.samples.petclinic.web.VetsAtomView"/>
-- 
GitLab