Nil
Nil

Reputation: 195

Tiles configuration issue in spring boot

When I am executing my code through eclipse it works fine, but when i am trying to execute my code through .jar file generated it shows error "Could not resolve view with name 'success' in servlet with name 'dispatcherServlet'"

the view should be resolved through tiles-main.xml instead it try to resolve the view through "InternalResourceViewResolver"

here is my configuration file

@Configuration
@EnableWebMvc
@ComponentScan("com.xyz.abc")
public class WebMvcConfig extends WebMvcConfigurerAdapter {




     @Bean
        public UrlBasedViewResolver setupviewResolver() {
            UrlBasedViewResolver viewResolver = new UrlBasedViewResolver();
            viewResolver.setViewClass(TilesView.class);
            return viewResolver;
        }

        /*@Bean
        InternalResourceViewResolver viewResolver(){
            InternalResourceViewResolver  resolver=new InternalResourceViewResolver();
            resolver.setPrefix("/WEB-INF/pages/");
            resolver.setSuffix(".jsp");
            return resolver;

        }*/


     @Bean
     public TilesViewResolver tilesViewResolver() {
         final TilesViewResolver resolver = new TilesViewResolver();
         resolver.setPrefix("/WEB-INF/tiles/pages");
         resolver.setViewClass(TilesView.class);
         return resolver;
     }

     @Bean
        public TilesConfigurer tilesConfigurer() {
            TilesConfigurer tilesConfigurer = new TilesConfigurer();
            tilesConfigurer.setDefinitions(new String[] { "file:src/main/webapp/WEB-INF/tiles/tiles-main.xml" });
            tilesConfigurer.setCheckRefresh(true);
            return tilesConfigurer;
        }

        @Override
        public void configureDefaultServletHandling(
                DefaultServletHandlerConfigurer configurer) {
            configurer.enable();
        }


}

Upvotes: -1

Views: 2665

Answers (1)

Fritz Duchardt
Fritz Duchardt

Reputation: 11920

Looks to me like your tiles configuration file is not referenced properly. The location file:src/main/webapp/WEB-INF/tiles/tiles-main.xml is usually not accessible from a deployed web application.

Try this instead:

tilesConfigurer.setDefinitions(new String[] { "/WEB-INF/tiles/tiles-main.xml" });

Upvotes: 0

Related Questions