以下为什么能正常输出
在项目同一个包中增加一个类FreemarkerSample3的情况下,将FreemarkerSample1改成FreemarkerSample3,也是可以正常输出的,为什么呢。设置加载的目录是什么意思
FreemarkerSample1代码如下:
import freemarker.core.ParseException;
import freemarker.template.Configuration;
import freemarker.template.MalformedTemplateNameException;
import freemarker.template.Template;
import freemarker.template.TemplateException;
import freemarker.template.TemplateNotFoundException;
public class FreemarkerSample1 {
public static void main(String[] args) throws TemplateNotFoundException, MalformedTemplateNameException, ParseException, IOException, TemplateException {
//1、加载模板
//创建核心配置对象
Configuration config=new Configuration(Configuration.VERSION_2_3_31);
//设置加载的目录
config.setClassForTemplateLoading(FreemarkerSample3.class, "");
//得到模板对象
Template t=config.getTemplate("sample1.ftl");
//2、创建数据
Map<String,Object> data=new HashMap<String,Object>();
data.put("site", "百度");
data.put("url", "http://www.baidu.com");
//3、产生数据
t.process(data, new OutputStreamWriter(System.out));
}
}
FreemarkerSample3代码如下:
package com.imooc.freemarker;
public class FreemarkerSample3 {
}
正在回答 回答被采纳积分+1
同学你好,1、Freemarker是一个模板框架,主要是为了加快染速度而产生的。只要是关于模板生成一些代码的都可以使用它完成。
config.setClassForTemplateLoading(FreemarkerSample3.class, "");是Freemarker基于类路径加载模板的目录。这是加载模板的一个步骤。
2、根据同学的描述,在同一个包中增加一个类FreemarkerSample3,所以FreemarkerSample1和FreemarkerSample3是同一个路径下的文件,所以都是基于这个类路径加载的,所以最后加载正确。
祝学习愉快!
- 参与学习 人
- 提交作业 9393 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星