首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >古巴-平台+ EmailInfo -如何在WEB下指定FTL模板路径?

古巴-平台+ EmailInfo -如何在WEB下指定FTL模板路径?
EN

Stack Overflow用户
提问于 2017-07-28 02:01:43
回答 1查看 228关注 0票数 1

我有模块/ email.ftl /WEB/WEB/templates/email/(我创建的一个子文件夹)。在我的控制器代码中,我有我的EmailInfo声明,我希望指定到email.ftl的路径。

查看本教程,我看到EmailInfo声明如下:

代码语言:javascript
运行
复制
EmailInfo emailInfo = new EmailInfo(
            "john.doe@company.com,jane.roe@company.com", 
            newsItem.getCaption(),
            null,
            "com/company/demo/templates/news_item.txt",
            Collections.singletonMap("newsItem", newsItem)
    );

我注意到通向news_item.txt的相对路径从com/开始,这使我相信路径的根从控制器所在模块的"src“文件夹开始(我的控制器位于app门户中,所以在我的例子中是portal/src)。由于我的模板在web/下而不是src/下,所以我指定了路径如下:

代码语言:javascript
运行
复制
EmailInfo emailInfo = new EmailInfo("email@email.com", "Email Template", null, "../web/WEB-INF/templates/email/email.ftl", null, null);[/pre]

但是,它没有工作,因为引发了一个错误:

java.lang.IllegalArgumentException:无法通过路径找到模板:../WEB/WEB/ template /email/email.ftl

因此,我的问题是,如何指定这个文件路径,以进入一个不同的子文件夹,特别是“模块/门户/web”?

谢谢你,交友

==X-从古巴发帖-平台forum==

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-28 13:48:09

感谢Yuriy Artamonov在古巴的回答:

不幸的是,您不能将电子邮件模板存储在门户/ web模块中,因为它们是在中间件上处理的。我建议您将它们放入核心模块src文件夹中。实际上,"/“指的是类路径根,而不是文件夹。 模板由Emailer使用参考资料接口加载,该接口使用以下规则加载资源:https://doc.cuba-platform.com/manual-6.5/resources.html

我将email.ftl置于modules/core/src/com/example/test/email/email.ftl下,并指定了/com/example/test/email/email.ftl的路径,它起了作用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45363703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档