静态化技术Freemarker

enumerate()说明

  • enumerate()是python的内置函数
  • enumerate在字典上是枚举、列举的意思
  • 对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值
  • enumerate多用于在for循环中得到计数

什么是Freemarker

 

FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java 等。

 

目前企业中:主要用Freemarker做静态页面或是页面展示

enumerate()使用

  • 如果对一个列表,既要遍历索引又要遍历元素时:

    1 list = ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期天"] 2 for index, item in enumerate(list): 3 print(index, item) 4 5 0 星期一 6 1 星期二 7 2 星期三 8 3 星期四 9 4 星期五 10 5 星期六 11 6 星期天

  • 也能指定起始序号enumerate(li, 1)

    1 li = ["手机", "电脑", '鼠标垫', '游艇'] 2 for k,v in enumerate(li, 1): 3 print(k,v) 4 5 1 手机 6 2 电脑 7 3 鼠标垫 8 4 游艇

 

使用Freemarker所用到的jar

 

把下载到的jar包(freemarker-2.3.9.jar)放到WebRootWEB-INFlib目录下。下载地址:http://freemarker.sourceforge.net/freemarkerdownload.html (注:官方网站.org的经常打不开)

 

如果使用的是Maven结构,可在pom.xml中引入以下坐标

<dependency>
<groupId>freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.9</version>
</dependency>

Freemarker原理图

图片 1

模板 +  数据模型 = 输出

第一步:Freemarker环境搭建

 

创建FMDemo类

      //第一步:实例化Freemarker的配置类
        Configuration conf = new Configuration();
        //第二步:给配置类设置路径   
        String dir = "C:\Users\lx\workspaces-new\freemarker\ftl\";

        conf.setDirectoryForTemplateLoading(new File(dir));

        Template template = conf.getTemplate("freemarker.ftl");

        //第三步:处理模板及数据之间 关系 将数据与模板合成一个html
        //第四步: 输出html
        Writer out = new FileWriter(new File(dir + "hello.html"));
      // 定义数据
      Map root = new HashMap();
      root.put("world", "世界你好");
      //执行生成
      template.process(root, out);
      //关流
      out.flush();
      out.close();

创建页面模板ftl/freemarker.ftl

 

${world}

 

本文由金沙官网线上发布于编程,转载请注明出处:静态化技术Freemarker

您可能还会对下面的文章感兴趣: