Мне нужно указать несколько шаблонов загрузчика шаблонов для FreeMarker в веб-приложении Spring Boot, но только FreeMarkerAutoConfigurationClass
позволяет указать только один путь, используя свойство spring.freemarker.templateLoaderPath
, которое использует метод setTemplateLoaderPath
в FreeMarkerConfigurationFactory
. Однако этот класс позволяет мне установить несколько путей, используя метод setTemplateLoaderPaths
. Каков наилучший способ переопределить этот класс автоконфигурации и указать несколько путей загрузчика? Я не очень хорошо понимаю классы конфигурации Spring Java, и мне нужен пример для этого, прежде чем писать код, который мне нужен. Я использую Spring Boot 1.1.2. Заранее спасибо.Как указать несколько шаблонов templateLoaderPath для Freemarker в Spring Boot?
1
A
ответ
2
Вам необходимо предоставить свой собственный компонент типа org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer
с необходимой конфигурацией. Чтобы сделать это, добавить что-то похожее на следующее к одному из классов конфигурации Java вашего приложения:
@Bean
public FreeMarkerConfigurer freeMarkerConfigurer() {
FreeMarkerConfigurer configurer = new FreeMarkerConfigurer();
configurer.setTemplateLoaderPaths("one", "two", "three");
// Apply further configuration as needed
return configurer;
}
Update: последних Spring Загрузочные 1.2 моментальных снимков теперь принимают через запятую список для spring.freemarker.templateLoaderPath свойство, позволяющее указать несколько путей без объявления настраиваемого компонента FreeMarkerConfigurer
.
Смежные вопросы
- 1. Spring Boot и FreeMarker
- 2. Spring Boot + шаблон шаблона Freemarker
- 3. Spring boot freemarker
- 4. Spring Boot Freemarker - html escaping по умолчанию
- 5. Использование freemarker и spring для создания шаблонов
- 6. Spring Boot Freemarker status.errorMessages не заполнен
- 7. Spring Boot with Freemarker - теги формы
- 8. Spring Boot - Как указать альтернативный стартовый класс? (Несколько точек входа)
- 9. spring freemarker ConversionNotSupportedException
- 10. Конфигурирование FreeMarker в Spring Application
- 11. Как указать BeanNamingStrategy с Spring Boot?
- 12. spring boot - как правильно определить расположение шаблонов?
- 13. Как я могу включить полный пакет шаблонов Freemarker в Spring Boot?
- 14. Использование шаблонов/включает в себя Spring Boot
- 15. Dropwizard View включает несколько шаблонов Freemarker
- 16. Как указать префикс для всех контроллеров в Spring Boot?
- 17. Один шаблон freemarker vs Несколько шаблонов
- 18. Inernationalization with Spring Boot
- 19. Как включить горячее обновление шаблонов freemarker в весеннем ботинке?
- 20. Расположение шаблона Freemarker и Admin Batch Admin
- 21. Определить пользовательский загрузчик шаблонов для FreeMarker с Spring
- 22. Множественные представления в Spring Boot
- 23. Spring-boot: настройка FreeMarkerConfigurationFactoryBean в веб-приложении
- 24. Горячее развертывание Spring Boot для шаблонов и ресурсов в IntelliJ
- 25. Как указать несколько шаблонов артефактов для распознавателя в плющом?
- 26. Spring Boot несколько баз данных
- 27. Maven Spring Boot несколько модулей
- 28. Модульное тестирование приложения Spring Boot с помощью Freemarker throws NoSuchMessageException
- 29. Spring Boot несколько EntityManagerFactories NoUniqueBeanDefinitionException
- 30. Как читать файлы шаблонов Freemarker из папки src/main/resources?
Я считаю, что список путей, разделенных запятыми, работает только для свойства 'templateLoaderPaths' (обратите внимание на« s »в конце), а не на' templateLoaderPath'. – ddekany
@ddekany Свойство является единственным. Вот набор для него: https://github.com/spring-projects/spring-boot/blob/v1.3.3.RELEASE/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/ freemarker/FreeMarkerProperties.java # L81 –
Вы правы, это 'FreeMarkerConfigurer', который имеет как исключительное, так и множественное свойство. – ddekany