Add default ViewResolver to MVC Java config

Since the MVC Java config always registers a ViewResolver (composite)
bean, at a very minimum we must add an InternalResourceViewResolver
consistent with default DispatcherServlet configuration and by
extension with the MVC namespace which falls back on DispatcherServlet
implicity if no <view-resolvers> element is present.

Issue: SPR-7093
This commit is contained in:
Rossen Stoyanchev
2014-07-17 16:46:40 -04:00
parent 7f7fd7d311
commit dfcc1d7e8c
2 changed files with 13 additions and 2 deletions

View File

@@ -49,6 +49,7 @@ import org.springframework.web.method.support.CompositeUriComponentsContributor;
import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.HandlerExecutionChain;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
import org.springframework.web.servlet.view.ViewResolverComposite;
import org.springframework.web.servlet.handler.AbstractHandlerMapping;
import org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping;
@@ -208,7 +209,8 @@ public class WebMvcConfigurationSupportTests {
ViewResolverComposite compositeResolver = this.wac.getBean(ViewResolverComposite.class);
assertEquals(Ordered.LOWEST_PRECEDENCE, compositeResolver.getOrder());
List<ViewResolver> resolvers = compositeResolver.getViewResolvers();
assertEquals(0, resolvers.size());
assertEquals(1, resolvers.size());
assertEquals(InternalResourceViewResolver.class, resolvers.get(0).getClass());
}
@Test