Насколько я понимаю, Spring по умолчанию будет искать в папке resources
файлы.Я пытаюсь вернуть простой index.ftl
файл, например, так:
@RequestMapping(method = RequestMethod.GET, value = "/")
public String index(Model model) {
model.addAttribute("message", "Hello world!");
return "index";
}
Я настроил Freemarker следующим образом:
@Bean
public FreeMarkerViewResolver freeMarkerViewResolver() {
FreeMarkerViewResolver vr = new FreeMarkerViewResolver();
vr.setPrefix("");
vr.setSuffix(".ftl");
vr.setCache(true);
return vr;
}
@Bean
public FreeMarkerConfigurer freeMarkerConfigurer() {
FreeMarkerConfigurer configurer = new FreeMarkerConfigurer();
configurer.setTemplateLoaderPath("templates/");
return configurer;
}
У меня index.ftl
расположен в двух местах,один в resources/templates/index.ftl
и один в webapp/templates/index.ftl
.У каждого есть содержание, чтобы сообщить мне, что я получаю, и Spring всегда возвращает webapp
.Я не вижу никакой конфигурации, настроенной для этого, и фактически настроил ее так, чтобы она не смотрела в webapp
, поместив следующее в application.properties
:
spring.mvc.static-path-pattern=/resources/**
Я неуверен, что еще нужно изменить, или где даже посмотреть, чтобы это остановить.В собственной документации Spring сказано, что по умолчанию она будет resources
и по умолчанию не будет искать папку webapp
, поэтому я не уверен, где это может быть настроено в этом проекте или как это остановить.Любая помощь приветствуется.
Редактировать: При полном удалении папки webapp
и оставлении только index.ftl
внутри resources
появляется следующая ошибка:
`Не удалосьразрешить представление с именем 'index' в сервлете с именем 'dispatcherServlet'
Вот мой класс инициализатора:
public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[] { WebMvcConfig.class, WebFlowWithMvcConfig.class };
}
@Override
protected Class<?>[] getServletConfigClasses() {
return null;
}
@Override
protected String[] getServletMappings() {
return new String[] { "/" };
}
}