题外话:
       页面静态化(展示数据从JSP页面变成HTML页面)实现方式-->模板技术   从本质上来讲,模板技术是一个占位符动态替换技术。一个完整的模板技术需要四个元素:①模板语言(使用的语法)   ②包含模板语言的模板文件(.ftl结尾)   ③模板引擎(jar包)  ④拥有动态数据的数据对象
       FreeMarker是一款模板引擎:即一种基于模板和要改变的数据,并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。


静态页面在什么时候生成??
    数据新增,修改的时候会生成一个新的静态化页面, 在数据删除的时候会将原有的静态化页面删除

如何使用freemarker模板生成一个html页面呢???
    注意:导入freemarker的jar包

点击下载FreeMarker文档+jar包资源   密码:2ndt

/*** 1.创建配置实例* 2.获得模板* 3.创建数据模型[数据模型可以是List、Map对象 注意:Map类型的key必须是String类型]* 4.将模板和数据模型合并* @author 郑清*/
public class FreeMarkerTest {@Testpublic void testCreateHtml() throws Exception{//①创建配置对象Configuration cfg = new Configuration(Configuration.VERSION_2_3_28);//注意:这里需要传递一个版本File f = new File("E:/eclipse-workspace/JavaWeb_workspace/JavaWeb/src/main/webapp/test");//②读取模板文件夹cfg.setDirectoryForTemplateLoading(f);//设置要加载的模板文件的路径//③设置模板的编码格式cfg.setDefaultEncoding("UTF-8");//④获取模板对象Template template = cfg.getTemplate("hello.ftl");//hello.ftl是模板名称//⑤创建数据模型(这里使用map类型)  --[数据模型可以是List、Map对象 注意:Map类型的key必须是String类型]HashMap<String, Object> map = new HashMap<>();map.put("username", "郑清");HashMap<String, Object> map2 = new HashMap<>();//map2存储的是a标签的href和显示名字map2.put("href","https://www.baidu.com");map2.put("name","百度");map.put("a", map2);//⑥将模板和数据模型合并 --> 输出模板,生成文件PrintWriter pw = new PrintWriter(new File(f, "hello.html"));template.process(map, pw);//合并  map:数据模型  pw:输出流对象pw.close();//关闭流}}

${key  }     -->   获取数据模型中的对应值

当数据模型为对象时:

浏览器运行效果:


FreeMarker中的基本语法:     (更多语法在FreeMarker文档中查看!!)
①判断:

<#if 条件></#if>
</#esleif 条件>

②遍历:

<#list 数据 as 变量>
${变量 }
</#list>

③遍历map:  map?keys --> 获取map中的key

<#list map?keys as 变量>
输出key:${变量}
输出map的值:${map[变量]}
</#list>

JavaWeb(14) 页面静态化之使用freemarker模板生成一个html静态页面相关推荐

  1. springboot结合Freemarker模板生成docx格式的word文档(附代码)

    首先参考的是这篇文章: java利用Freemarker模板生成docx格式的word文档(全过程) - 旁光 - 博客园参考:https://my.oschina.net/u/3737136/blo ...

  2. php网站如何静态化链接,建站教程之网站URL静态化处理

    网络技术的日益发展,使得jsp.php等语言广泛的普及,很多的网站都早已进入动态化时期.过去的建站教程之网站URL静态化处理纯净html网页已经很难再找到了,而现在的网站大多数都拥有自己的数据库,它们 ...

  3. freemarker 模板生成pdf文件并下载

    利用freemarker 模板生成pdf文件,通过浏览器直接下载或生成文件到指定目录 1.pom.xml文件 <!--引入Freemarker的依赖--> <dependency&g ...

  4. freemarker 生成java_半自动化Java代码生成器[利用freemarker模板生成]

    rapid-generator 半自动化Java代码生成器[利用freemarker模板生成] 增加一些定制和扩展, 修改为基于MAVEN的格式. 整体架构保持不变. 增加的特性为: 支持表名前缀去除 ...

  5. 利用 freemarker 模板生成 word 小结

    在企业级开发时,不可避免的会遇到生成 word 文档的需求,有两种常用的方案,1.使用 Apache POI 在后台通过代码生成 word 文档:2.使用模板生成 word 文档.第二种方法比较简单, ...

  6. Freemarker模板生成排版缩进问题

    在将Freemarker作为模板使用时,生成的目标文件(HTML或xml或其他类型文件)时,往往会出现排版错乱的问题. 主要是:明明没有那么多占位符或缩进,但生成出来的文件却有对应的缩进. 类似下图效 ...

  7. java生成docx_java利用Freemarker模板生成docx格式的word文档

    之前写过一篇利用Freemarker模板生成doc的博客,不过那个博客有点缺陷,生成的word占用的空间很大,几百页的word有将近100M了.所以,后面需求必须是生成的docx文档,结果导出后正常才 ...

  8. java利用Freemarker模板生成格式友好的doc或者docx文档

    之前写过一篇利用Freemarker模板生成doc的博客,不过那个博客有点缺陷,不支持生成docx格式的文档.所以,这里补充一篇,生成docx或doc格式的文档以具体的docx模板或者doc模板为主. ...

  9. java利用Freemarker模板生成docx格式的word文档(全过程)

    参考汇总: wordexport: JAVA生成并导出Word文档技术论证 java利用Freemarker模板生成docx格式的word文档(全过程) - 旁光 - 博客园 # 参考资料 - 其他项 ...

最新文章

  1. Java设计模式圣经连载(05)-代理模式
  2. Spring could 使用Feign超时问题
  3. mysql 先排序再去重_有人说先学会三轴,再去搞四轴、五轴加工中心,这几种有何区别?...
  4. 一窥谷歌神经机器翻译模型真面貌 其底层框架开源
  5. sublime的TAB和空格统一
  6. Linux运维实战之DNS的高级配置(转发器、视图等)
  7. 难以摸透的直男脑回路......
  8. flatmap_flatMap()与concatMap()与concatMapEager()– RxJava常见问题解答
  9. HDU - 5934
  10. 2020年工业互联网行业研究报告(国盛证券)
  11. 强跟踪卡尔曼滤波STF估算车辆质量——matab simulink仿真
  12. spring boot没有web.xml,如何向嵌入式的servlet容器中注册servlet组件
  13. SpringBoot异常处理以及对数据正确性的检查
  14. 微信输入法要来了!就长这个样子
  15. Nginx端口映射(外网访问)
  16. 运用.NET Framework中的类来创建看上去很专业的报表。
  17. 二级c语言笔试57,二级C语言笔试真题与答案.doc
  18. Linux中chmod命令修改权限详解
  19. E-Prime 软件中常用的 inline 语句
  20. 波利亚《怎样解题》感悟

热门文章

  1. 同城即时配送赛道,哈啰出行大有可为!
  2. android oat文件,OAT格式文件 如何打开OAT文件 OAT是什么格式的文件 用什么打开 - The X 在线工具...
  3. 个人从零开发一款 Android 应用、上线并盈利 | 项目复盘
  4. 《Verilog HDL与FPGA数字系统设计》书籍试读体验
  5. 松勤11期软件测试之Jmeter高级性能测试项目实战学习笔记
  6. 数据科普:定价模型与平价关系式(投资必知必会)
  7. python 动物分类_动物分类及图片
  8. 佳能R5相机断电0KB字节DAT视频文件无法打开播放怎么数据恢复MP4
  9. 微信支付的系统架构到底有多厉害?
  10. Latex (4)Latex参考文献BibTex、BibTeX