Skip to content
Snippets Groups Projects
Commit 05c1110d authored by Mic's avatar Mic
Browse files

fixed content negotiation configuration

parent bfa4f85a
No related branches found
No related tags found
No related merge requests found
......@@ -16,8 +16,7 @@
<context:component-scan base-package="org.springframework.samples.petclinic.web"/>
<mvc:annotation-driven />
<!-- <mvc:annotation-driven content-negotiation-manager="contentNegotiationManager" /> -->
<mvc:annotation-driven />
<!-- all resources inside folder src/main/webapp/resources are mapped so they can be refered to inside JSP files
(see header.jsp for more details) -->
......@@ -27,6 +26,38 @@
<mvc:resources mapping="/webjars/**" location="classpath:/META-INF/resources/webjars/"/>
<!--
- This view resolver delegates to the InternalResourceViewResolver and BeanNameViewResolver,
- and uses the requested media type to pick a matching view. When the media type is 'text/html',
- it will delegate to the InternalResourceViewResolver's JstlView, otherwise to the
- BeanNameViewResolver. Note the use of the expression language to refer to the contentType
- property of the vets view bean, setting it to 'application/vnd.springsource.samples.petclinic+xml'.
-->
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="contentNegotiationManager">
<bean class="org.springframework.web.accept.ContentNegotiationManager">
<constructor-arg>
<bean class="org.springframework.web.accept.PathExtensionContentNegotiationStrategy">
<constructor-arg>
<map>
<entry key="xml" value="#{vets.contentType}"/>
<entry key="atom" value="#{visits.contentType}"/>
</map>
</constructor-arg>
</bean>
</constructor-arg>
</bean>
</property>
<property name="order" value="0"/>
</bean>
<!--
- The BeanNameViewResolver is used to pick up the visits view name (below).
- It has the order property set to 2, which means that this will
- be the first view resolver to be used after the delegating content
- negotiating view resolver.
-->
<bean class="org.springframework.web.servlet.view.BeanNameViewResolver" p:order="1"/>
<!--
- This bean configures the 'prefix' and 'suffix' properties of
......@@ -35,7 +66,7 @@
- will be mapped to "/WEB-INF/jsp/vets.jsp".
-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/jsp/"
p:suffix=".jsp" />
p:suffix=".jsp" p:order="2"/>
<!--
- Message source for this context, loaded from localized "messages_xx" files.
......@@ -82,31 +113,15 @@
<!-- <bean id="contentNegotiationManager" class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">
<property name="favorPathExtension" value="false" />
<property name="favorParameter" value="true" />
<property name="mediaTypes">
<value>
atom=application/atom+xml
html=text/html
xml=application/xml
</value>
</property>
</bean> -->
<!--
- The BeanNameViewResolver is used to pick up the visits view name (below).
- It has the order property set to 1, which means that this will
- be the first view resolver to be used after the delegating content
- negotiating view resolver.
-->
<!-- <bean class="org.springframework.web.servlet.view.BeanNameViewResolver" /> -->
<!-- - The AtomView rendering a Atom feed of the visits -->
<!-- <bean id="visits" class="org.springframework.samples.petclinic.web.VisitsAtomView"/>
<bean id="visits" class="org.springframework.samples.petclinic.web.VisitsAtomView"/>
<bean id="vets" class="org.springframework.web.servlet.view.xml.MarshallingView">
<property name="contentType" value="application/vnd.springsource.samples.petclinic+xml"/>
......@@ -115,7 +130,7 @@
<oxm:jaxb2-marshaller id="marshaller">
<oxm:class-to-be-bound name="org.springframework.samples.petclinic.Vets"/>
</oxm:jaxb2-marshaller> -->
</oxm:jaxb2-marshaller>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment