关于加载模块步骤下的设置加载目录的问题

关于加载模块步骤下的设置加载目录的问题

如题,如果FreemarkerSample1.class的所在包中并不只有sample1.ftl,还有sample2.ftl,此时恰好需求加载sample2.ftl文件,那么语句:config.setClassForTemplateLoading(FreemarkerSample1.class,"");  第二个参数应该怎么写?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,这里config.setClassForTemplateLoading(FreemarkerSample1.class,"");的第二个参数的含义是表示加载当前包下的模板,而config.getTemplate()方法表示要加载的模板名称。所以按照同学所描述的想要加载FreemarkerSample1.class的所在包中的sample2.ftl模板,只需要修改如下代码:

config.getTemplate("sample2.ftl");

就可以获取sample2.ftl的模板对象了。

如果模板与加载的类不在一个包下,第二个参数可以直接编写所在路径就可以了。

例如:sample2.ftl在com.imooc.freemarker.entity包下,则第二个参数的路径就需要编写为,/com/imooc/freemarker/entity/的路径。具体如下:

http://img1.sycdn.imooc.com//climg/5dfc48080946698803360076.jpg

http://img1.sycdn.imooc.com//climg/5dfc483c09f9b7c609640077.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 慕标3356598 提问者 #1
    我能否这样理解:类似sample1.ftl、sample2.ftl这样的文件,应该养成将他们放到和FreemarkerSample1.class一个包中的习惯,因而语句config.setClassForTemplateLoading(FreemarkerSample1.class, "");的第二个参数写成 "" 也是约定俗成的习惯,是嘛?
    2019-12-20 12:01:51
  • 好帮手慕酷酷 回复 提问者 慕标3356598 #2
    同学你好,一般情况下,我们会将模板文件统一的放在项目一个目录下,这样更便于查找,所以同学也可以按照上述方式,在第二个参数处指定具体的路径。如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
    2019-12-20 14:31:55
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师