添加jar包

<!-- freemarker -->
<dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId>
</dependency>

配置文件

freeMarkerConfigurer

<!-- freemarker的配置 -->
<bean id="freeMarkerConfigurer" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"><property name="templateLoaderPath" value="/WEB-INF/ftl/"/><property name="defaultEncoding" value="utf-8"></property>
</bean>

加载配置文件

Web.xml加载springmvc.xml

<!-- 前端控制器 -->
<servlet><servlet-name>taotao-item-web</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- contextConfigLocation不是必须的, 如果不配置contextConfigLocation, springmvc的配置文件默认在:WEB-INF/servlet的name+"-servlet.xml" --><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring/springmvc*.xml</param-value></init-param><load-on-startup>1</load-on-startup>
</servlet>

Controller

业务逻辑:
1、从spring容器中获得FreeMarkerConfigurer对象
2、从FreeMarkerConfigurer对象中获得Configuration对象
3、使用Configuration对象获得Template对象
4、创建数据集
5、创建输出文件的Writer对象
6、调用模板对象的process方法,生成文件
7、关闭流

@Controller
public class HtmlGenController {@Autowiredprivate FreeMarkerConfigurer freeMarkerConfigurer;@RequestMapping("/genhtml")@ResponseBodypublic String genHtml() throws Exception {//生成静态页面Configuration configuration = freeMarkerConfigurer.getConfiguration();Template template = configuration.getTemplate("hello.ftl");Map data = new HashMap<>();data.put("hello", "spring freemarker test");Writer out = new FileWriter(new File("D:/temp/javaee28/out/test.html"));template.process(data, out);out.close();//返回结果return "OK";}
}

Freemarker整合Spring相关推荐

  1. FreeMarker整合Spring 3

    开发环境: System:Windows WebBrowser:IE6+.Firefox3+ JavaEE Server:tomcat5.0.2.8.tomcat6 IDE:eclipse.MyEcl ...

  2. spring源码分析之freemarker整合

    FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页.电子邮件.配置文件.源代码等)的通用工具. 它不是面向最终用户的,而是一个Java类库,是一款程 ...

  3. 八、springboot整合Spring Security

    springboot整合Spring Security 简介 Spring Security是一个功能强大且可高度自定义的身份验证和访问控制框架.它是保护基于Spring的应用程序的事实标准. Spr ...

  4. Portal-Basic Java Web 应用开发框架:应用篇(十一) —— 整合 Spring

    Portal-Basic Java Web应用开发框架(简称 Portal-Basic)是一套功能完备的高性能Full-Stack Web应用开发框架,内置稳定高效的MVC基础架构和DAO框架(已内置 ...

  5. spring boot整合spring security笔记

    最近自己做了一个小项目,正在进行springboot和spring Security的整合,有一丢丢的感悟,在这里分享一下: 首先,spring boot整合spring security最好是使用T ...

  6. Echache整合Spring缓存实例讲解

    2019独角兽企业重金招聘Python工程师标准>>> 摘要:本文主要介绍了EhCache,并通过整合Spring给出了一个使用实例. 一.EhCache 介绍 EhCache 是一 ...

  7. Activiti工作流从入门到入土:整合spring

    文章源码托管:https://github.com/OUYANGSIHAI/Activiti-learninig 欢迎 star !!! 一.前言 在上一节中,通过一个入门程序,把activiti的环 ...

  8. springboot2 war页面放在那_Spring Boot2 系列教程(三十三)整合 Spring Security

    Spring Security 是 Spring 家族中的一个安全管理框架,实际上,在 Spring Boot 出现之前,Spring Security 就已经发展了多年了,但是使用的并不多,安全管理 ...

  9. springboot templates读取不到_整合spring mvc + mybatis,其实很简单,spring boot实践(5)

    01 spring boot读取配置信息 02 多环境配置 03 处理全局异常 04 spring boot admin 主要通过spring boot整合spring mvc 以及mybatis实现 ...

最新文章

  1. Golang中time包
  2. python爬虫图片-python爬虫(爬取图片)
  3. [C语言] 文件操作,解压华为官方固件UNDATE.APP工具(源代码);
  4. 计算机科学与技术分享会,“相伴成长,绘梦未来”——计算机科学学院计算机科学与技术专业举办交流分享会...
  5. 解决mysql无法启动和重启:mysql.sock文件解锁
  6. mysql5.5安装最后一步一直无反应_【MATLAB R2019b】保姆级安装教程
  7. Terracotta Express Model 和 Terracotta Customized Model
  8. jquery分页插件的修改
  9. mysql master slave 灾备技术_MySQL灾备恢复在线主从复制变成主主复制及多源复制【转】...
  10. 硬盘安装Linux救援系统,通过急救系统里往硬盘里安装 alpine linux
  11. quartz定时器依赖_Spring Quartz定时器 配置文件详解
  12. 携程第二场预赛 1003:位图像素的颜色(水题,判断点是否在矩形内)
  13. 算法:求数组区间的和Range Sum Query - Immutable
  14. 思维固化,addTarget难道就只能给self
  15. python mro
  16. HTML期末作业-我的家乡网页作业
  17. c语言实现循环结构的语句有哪些?它们的区别是什么?,2011年04月份计算机软件基础(一)复习资料二...
  18. 成长了,记录一下,增值税发票识别写入excel文件里
  19. 浏览器开发者工具菜鸡相谈
  20. 力扣:我的日程安排表I

热门文章

  1. iframe和HTML5 blob实现JS,CSS,HTML直接当前页预览
  2. 我的学习之路_第十八章_SQL语句
  3. 软件性能-概念、关注点、术语
  4. JavasSript实现秒转换为“天时分秒”控件和TDD测试方法应用
  5. 软件工程作业----个人读后感
  6. This 在 C# 中的含义
  7. 苹果系统的优点和缺点
  8. Asp.Net 2.0中的客户端脚本
  9. STM32F103mini教程通用定时器
  10. Git篇——Git使用教程