Created
June 24, 2009 13:14
-
-
Save myabc/135251 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver"> | |
| <property name="mediaTypes"> | |
| <map> | |
| <entry key="atom" value="application/atom+xml"/> | |
| <entry key="html" value="text/html"/> | |
| <entry key="json" value="application/json"/> | |
| </map> | |
| </property> | |
| <property name="viewResolvers"> | |
| <list> | |
| <bean class="com.test.web.view.ExtensionAwareBeanNameViewResolver" p:extension="json"/> | |
| <bean class="com.test.web.view.ExtensionAwareBeanNameViewResolver" p:extension="atom"/> | |
| <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> | |
| <property name="prefix" value="/WEB-INF/jsp/"/> | |
| <property name="suffix" value=".jsp"/> | |
| </bean> | |
| </list> | |
| </property> | |
| </bean> | |
| <bean id="ViewName-atom" class="com.test.rest.SampleContentAtomView"/> | |
| <bean id="ViewName-json" class="net.sf.json.spring.web.servlet.view.JsonView"/> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package com.test.web.view; | |
| import java.util.Locale; | |
| import org.springframework.beans.BeansException; | |
| import org.springframework.context.ApplicationContext; | |
| import org.springframework.core.Ordered; | |
| import org.springframework.web.servlet.View; | |
| import org.springframework.web.servlet.ViewResolver; | |
| import org.springframework.web.servlet.view.BeanNameViewResolver; | |
| public class ExtensionAwareBeanNameViewResolver extends | |
| BeanNameViewResolver implements | |
| ViewResolver, Ordered { | |
| private String extension; | |
| public View resolveViewName(String viewName, Locale locale) throws | |
| BeansException { | |
| ApplicationContext context = getApplicationContext(); | |
| String fullViewName = viewName + "-" + extension; | |
| if (!context.containsBean(fullViewName)) | |
| { | |
| // Allow for ViewResolver chaining. | |
| return null; | |
| } | |
| return (View) context.getBean(fullViewName, View.class); | |
| } | |
| public void setExtension(String extension) { | |
| this.extension = extension; | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment