一、添加 jar 包
<dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.23</version> </dependency>
二、springmvc 配置文件中添加如下 <bean>
<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name="templateLoaderPath" value="/WEB-INF/ftl/" /><!--模板所在的目录--> <property name="defaultEncoding" value="UTF-8" /><!--编码格式--> </bean>
三、controller 层代码
@Autowired private FreeMarkerConfigurer freeMarkerConfigurer; @RequestMapping("/genhtml") @ResponseBody //不响应视图,直接将结果响应给浏览器 public String genHtml() throws Exception{ Configuration configuration = freeMarkerConfigurer.getConfiguration(); //加载一个模板文件,创建一个模板对象。 Template template = configuration.getTemplate("hello.ftl"); //创建一个数据集。可以是pojo也可以是map。推荐使用map Map data = new HashMap<>(); data.put("hello", "123456"); //创建一个Writer对象,指定输出文件的路径及文件名。 Writer out = new FileWriter(new File("E:/freemarker/student.html")); //生成静态页面 template.process(data, out); //关闭流 out.close(); return "ok"; }
四、hello.ftl
${hello}
五、结果