vendredi 3 avril 2015

Multiple ViewResolver not working according to order

I have declared two ViewResolver Bean generating methods in my WebConfig. I have set the TilesViewResolver order as 1 and InternalViewResolver as 2. So I expect the TilesViewResolver to be used for resolving my views by default. If it fails, then the InternalViewResolver should be used. But In my case, the InternalViewResolver is always getting used and the TilesViewResolver is never used.



@Configuration
@EnableWebMvc
@ComponentScan("com.revechat.spring.authentication")
public class WebConfig extends WebMvcConfigurerAdapter{

@Bean
public ViewResolver viewResolver(){
TilesViewResolver tilesViewResolver = new TilesViewResolver();
tilesViewResolver.setOrder(1);
return new TilesViewResolver();
}

@Bean
public ViewResolver internalviewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setViewClass(JstlView.class);
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
resolver.setOrder(2);

return resolver;
}

@Bean
public TilesConfigurer tilesConfigurer(){
TilesConfigurer tiles = new TilesConfigurer();
tiles.setDefinitions(new String[]{
"/WEB-INF/layout/tiles.xml"
});

tiles.setCheckRefresh(true);
return tiles;
}

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static/**").addResourceLocations("/static/");
}

}


I am using Spring MVC 4 and Apache Tiles 3. How to resolve the issue ?


Aucun commentaire:

Enregistrer un commentaire