0

我正在使用 Liferay 开发我的应用程序,并希望使用 freemarker 开发模板。

我只是在测试freemarker。当我部署我的应用程序时,它说找不到模板。我知道模板文件应该在 src 文件夹中。所以我在 docroot.WEB-INF/src 文件夹中创建了 helloworld.ftl 并在代码中我尝试使用语句访问它

Configuration cfg = new Configuration();
Template template = cfg.getTemplate("src/helloworld.ftl");

错误如下:

java.io.FileNotFoundException: Template src/helloworld.ftl not found.

我应该如何给出我的文件夹路径?

4

2 回答 2

0

嘿,我想出了问题所在。在这里我会分享它。在获取模板之前我没有加载模板:)

于 2013-04-02T16:07:04.390 回答
0

您需要PortletContext为您的 portlet 获取 ahold,并使用它getRealPath来获取文件的实际路径:

String realPath = portletContext.getRealPath("WEB-INF/src/helloworld.ftl");
Template template = cfg.getTemplate(realPath);

显然,您真的需要“WEB-INF/src”的路径,您可以将路径附加到特定的 FTL 文件。

于 2013-04-02T15:36:49.150 回答