为什么Spring在使用多个位置时不继续寻找合适的视图解析器
我有一个SpringMVC应用程序,控制器返回ELEAF视图 web配置:为什么Spring在使用多个位置时不继续寻找合适的视图解析器,spring,spring-boot,spring-mvc,thymeleaf,Spring,Spring Boot,Spring Mvc,Thymeleaf,我有一个SpringMVC应用程序,控制器返回ELEAF视图 web配置: @Configuration public class WebConfiguration implements WebMvcConfigurer { @Bean(name = "TemplateResolver1") public SpringResourceTemplateResolver pdfViewerTemplateResolver() { SpringR
@Configuration
public class WebConfiguration implements WebMvcConfigurer {
@Bean(name = "TemplateResolver1")
public SpringResourceTemplateResolver pdfViewerTemplateResolver() {
SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();
templateResolver.setPrefix("classpath:/location1/");
templateResolver.setCacheable(false);
templateResolver.setSuffix(".html");
templateResolver.setTemplateMode(TemplateMode.HTML);
templateResolver.setOrder(0);
templateResolver.setCharacterEncoding("UTF-8");
return templateResolver;
}
@Bean(name = "TemplateResolver2")
public SpringResourceTemplateResolver officePlanTemplateResolver() {
SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();
templateResolver.setPrefix("classpath:/location2/");
templateResolver.setCacheable(false);
templateResolver.setSuffix(".html");
templateResolver.setTemplateMode(TemplateMode.HTML);
templateResolver.setOrder(1);
templateResolver.setCharacterEncoding("UTF-8");
return templateResolver;
}
}
当控制器应返回位于/location2/
中的视图示例
时,Spring抛出异常:
java.io.FileNotFoundException: class path resource [location1/example.html] cannot be opened because it does not exist
因此,Spring显然只在模板目录/location1/
中查找,但在找不到视图时,不会继续在/location2/
中查找。这里发生了什么?我的理解是使用templateResolver.setOrder(n)代码>我可以指定Spring查找模板的顺序,并且只有在检查了所有模板目录并且仍然无法解析视图时才会抛出异常