Spring Boot MVC ищет в папке webapp, а не ресурсы, файлы - PullRequest
0 голосов
/ 29 ноября 2018

Насколько я понимаю, 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[] { "/" };
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...