Как указать spring.freemarker.template-loader-path на шаблоны в банке зависимостей? - PullRequest
0 голосов
/ 29 марта 2019

У меня 2 проекта.Один проект (A) содержит все мои основные функциональные возможности, такие как мои сущности / службы / daos и т. Д. Он также содержит множество шаблонов .ftl, которые я хочу использовать и использовать повторно в моем другом проекте (B).Я успешно получил (B) для использования классов из (A), но мне не повезло в повторном использовании шаблонов freemarker.

Project (B) - это приложение Spring Boot (v2.1.3) и т. Д.Я думаю, что я прав в использовании application.property: spring.freemarker.template-loader-path, в отличие от определения нового @Bean.

Из-за того, что приложение является подпружиненным, по умолчанию и без этого свойства проект будетзагляните в собственное src/main/resources/templates расположение проектов, но моя цель состоит в том, чтобы у Project (A) не было своих собственных шаблонов, и чтобы мой контроллер возвращал шаблоны, найденные в Project (B).

В моих зависимостях Mavenиерархия выглядит следующим образом:

projectA-0.0.1.jar
    templates
        folder1
            exampleA.ftl
        folder2
            exampleB.ftl

В настоящее время мои контроллеры настроены на возврат таких вещей, как return new ModelAndView("folder1/exampleA"), где префикс контекста - src / main / resources / templates /

Кто-нибудь знаетправильный формат значения, которое мне нужно дать свойству spring.freemarker.template-loader-path, чтобы указывать на шаблоны в моем банке зависимостей вместо локального src / main / resources / templates?

1 Ответ

0 голосов
/ 01 апреля 2019

Итак spring.freemarker.template-loader-path= classpath: / templates / был ответом на мой первоначальный вопрос, однако он не решил мою проблему.

Добавление следующего @Bean в мой класс конфигурации сделал, кредит @ ddekany

@Bean public FreeMarkerConfigurationFactoryBean getFreeMarkerConfiguration() { FreeMarkerConfigurationFactoryBean bean = new FreeMarkerConfigurationFactoryBean(); bean.setTemplateLoaderPath("classpath:/templates/"); return bean; }

Может показаться, что хотя я мог бы использовать свойство, из-за других факторов в моем сценарии требовался @Bean.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...