Загрузить шаблон Freemarker с внешнего URL - PullRequest
1 голос
/ 13 июня 2019

Я реализовал приложение весенней загрузки, где нам нужно отправлять электронную почту с помощью freemarker.Приложение будет развернуто на google app engine, где структура файлов недоступна для хранения шаблонов.Итак, я сохранил шаблоны в хранилище Google с открытым доступом.Но не может загрузиться в шаблонизатор freemarker.

freeMarkerConfiguration.setDirectoryForTemplateLoading(new File("/home/dnilesh/Downloads/helloworld-springboot/src/main/resources/"));

content.append(FreeMarkerTemplateUtils.processTemplateIntoString(
                freeMarkerConfiguration.getTemplate("Email.html"),model));

Эта конфигурация выше будет работать в среде разработки.Но в Google App Engine у ​​меня нет каталога для хранения шаблона.

Я пробовал это:

freeMarkerConfiguration.setDirectoryForTemplateLoading(new File("https://storage.googleapis.com/nixon-medical/"));

           content.append(FreeMarkerTemplateUtils.processTemplateIntoString(
                    freeMarkerConfiguration.getTemplate("Email.html"),model));

Но freemarker не загружает шаблон с внешнего URL.Как я могу загрузить это?

Ответы [ 2 ]

2 голосов
/ 13 июня 2019

Для внешнего URL вы должны использовать URLTemplateLoader :

Если ваш источник шаблона получает доступ к шаблонам через URL, вам не нужно реализовывать TemplateLoader с нуля; вместо этого вы можете выбрать подкласс freemarker.cache.URLTemplateLoader и просто реализовать метод getURL (String templateName) для URL.

См. пример кода

0 голосов
/ 13 июня 2019

Вы можете использовать распознаватель Thymeleaf для загрузки внешних файлов. https://www.thymeleaf.org/doc/tutorials/2.1/thymeleafspring.html

...