栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Java中加载freemarker模板时出现FileNotFoundException

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Java中加载freemarker模板时出现FileNotFoundException

FreeMarker模板路径由

TemplateLoader
对象解析,您应该在
Configuration
对象中指定该路径。您指定为模板路径的路径由解释
TemplateLoader
,并且通常是相对于某种基本目录(即使它以开头
/
),因此也称为模板根目录。在您的示例中,您没有指定任何
TemplateLoader
,因此您使用的是default
TemplateLoader
,它仅用于向后兼容,几乎没有用处(并且很危险)。因此,请执行以下操作:

config.setDirectoryForTemplateLoading(new File(    "C:/Users/Jay/workspace/WebService/templates"));

然后:

config.getTemplate("fibplain.xml");

请注意,

/template
前缀现在不存在,因为模板路径是相对于的
C:/Users/Jay/workspace/WebService/templates
。(这也意味着模板不能使用
../
-s
退出模板,这对于安全性很重要。)

除了从真实目录中加载外,还可以从中

SerlvetContext
,从“类路径”等中加载模板。这完全取决于
TemplateLoader
您选择的内容。

另请参阅:http :
//freemarker.org/docs/pgui_config_templateloading.html

更新:如果

FileNotFoundException
不是
TemplateNotFoundException
,则该将FreeMarker至少升级到2.3.22的时候了。它还提供了更好的错误消息,例如,如果您犯了使用default的典型错误
TemplateLoader
,它将在错误消息中告诉您正确的信息。减少浪费的开发时间。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/414154.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号