Ранее я имел в файле petclinic-servlet.xml следующее, которое я скачал с веб-сайта SpringSource
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="mediaTypes">
<map>
<entry key="xml" value="#{vets.contentType}"/>
<entry key="atom" value="#{visits.contentType}"/>
</map>
</property>
</bean>
<bean id="vets" class="org.springframework.web.servlet.view.xml.MarshallingView">
<property name="contentType" value="application/vnd.springsource.samples.petclinic+xml"/>
<property name="marshaller" ref="marshaller"/>
</bean>
<oxm:jaxb2-marshaller id="marshaller">
<oxm:class-to-be-bound name="org.springframework.samples.petclinic.Vets"/>
</oxm:jaxb2-marshaller>
Так что я смог получить доступ к методу vetsHandler в ClinicController, но он не разрешил ни один из vets.jspили не отображал бы vets.xml
Поэтому я сделал некоторые изменения в petclinic-servlet.xml следующим образом
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="mediaTypes">
<map>
<!-- <entry key="xml" value="#{vets.contentType}"/> -->
<entry key="xml" value="application/xml"/>
<entry key="atom" value="#{visits.contentType}"/>
</map>
</property>
<property name="defaultViews">
<bean class="org.springframework.web.servlet.view.xml.MarshallingView">
<constructor-arg>
<bean class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="classesToBeBound">
<list>
<value>org.springframework.samples.petclinic.Vets</value>
</list>
</property>
</bean>
</constructor-arg>
</bean>
</property>
<property name="order" value="0"/>
</bean>
И закомментировал компонент с id = "vets" и запустил егоопять это прекрасно работает.Поэтому, если мой URI равен / vets, он будет преобразован в vets.jsp, а если это vets.xml, то он будет преобразован в xml display.
Если я только изменю вышеуказанный contentType на просто «application / xml»для beand ("vets") тогда любой запрос к / vets будет преобразован в vets.xml
Но я все еще не понимаю значение свойства bean (id = "vets") ниже, которое имеет свойство contentTypevalue = "application / vnd.springsource.samples.petclinic + xml"
Может кто-нибудь сказать мне, что это vnd.springsource.samples.petclinic + xml?Они допустили ошибку здесь вместо org.springframework.samples.petclinic + xml?