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