FreeMarker 整合 springmvc

一、添加 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}

五、结果

 

posted @ 2018-04-03 00:03  方方方方方方  阅读(139)  评论(0编辑  收藏  举报