Add order attribute to MVC ViewResolver config
The ViewResolverComposite that contains the ViewResolver's registered throug the MVC Java config and namespace can now be assigned an explicit order.
This commit is contained in:
@@ -767,6 +767,16 @@ public class MvcNamespaceTests {
|
||||
assertSame(manager, this.appContext.getBean(ContentNegotiationManager.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testViewResolutionWithOrderSet() throws Exception {
|
||||
loadBeanDefinitions("mvc-config-view-resolution-custom-order.xml", 1);
|
||||
|
||||
ViewResolverComposite compositeResolver = this.appContext.getBean(ViewResolverComposite.class);
|
||||
assertNotNull(compositeResolver);
|
||||
assertEquals("Actual: " + compositeResolver.getViewResolvers(), 1, compositeResolver.getViewResolvers().size());
|
||||
assertEquals(123, compositeResolver.getOrder());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPathMatchingHandlerMappings() throws Exception {
|
||||
loadBeanDefinitions("mvc-config-path-matching-mappings.xml", 22);
|
||||
|
||||
@@ -246,6 +246,20 @@ public class WebMvcConfigurationSupportTests {
|
||||
assertNull(resolver.resolveViewName("anyViewName", Locale.ENGLISH));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void mvcViewResolverWithOrderSet() {
|
||||
ApplicationContext context = initContext(CustomViewResolverOrderConfig.class);
|
||||
ViewResolverComposite resolver = context.getBean("mvcViewResolver", ViewResolverComposite.class);
|
||||
|
||||
Map<String, ViewResolver> map = BeanFactoryUtils.beansOfTypeIncludingAncestors(
|
||||
context, ViewResolver.class, true, false);
|
||||
|
||||
assertNotNull(resolver);
|
||||
assertEquals(1, resolver.getViewResolvers().size());
|
||||
assertEquals(InternalResourceViewResolver.class, resolver.getViewResolvers().get(0).getClass());
|
||||
assertEquals(123, resolver.getOrder());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void defaultPathMatchConfiguration() throws Exception {
|
||||
ApplicationContext context = initContext(WebConfig.class);
|
||||
@@ -286,6 +300,16 @@ public class WebMvcConfigurationSupportTests {
|
||||
}
|
||||
}
|
||||
|
||||
@EnableWebMvc
|
||||
@Configuration
|
||||
public static class CustomViewResolverOrderConfig extends WebMvcConfigurerAdapter {
|
||||
|
||||
@Override
|
||||
public void configureViewResolvers(ViewResolverRegistry registry) {
|
||||
registry.jsp();
|
||||
registry.order(123);
|
||||
}
|
||||
}
|
||||
|
||||
@Controller
|
||||
public static class TestController {
|
||||
|
||||
Reference in New Issue
Block a user