简单的freemarker解析测试

本文是一个很简单很基础的Freemarker模板解析测试类,复杂的也是在此基础上添加一些代码优化而来,懂得基础流程后就能融会贯通了

POM:

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

JAVA:

 1 import java.io.File;
 2 import java.io.FileReader;
 3 import java.io.IOException;
 4 import java.io.PrintWriter;
 5 import java.io.Reader;
 6 import java.io.Writer;
 7 import java.util.Arrays;
 8 import java.util.HashMap;
 9 import java.util.Map;
10
11 import freemarker.template.Template;
12 import freemarker.template.TemplateException;
13
14 /**
15  * Freemarker测试类
16  *
17  * @author yzl
18  * @see [相关类/方法](可选)
19  * @since [产品/模块版本] (可选)
20  */
21 public class FreemarkerTest {
22     public static void main(String[] args) throws IOException, TemplateException {
23         Reader reader = new FileReader(new File("E:/test.ftl"));
24         Template template = new Template("test", reader, null, "utf-8");
25
26         Map<Object, Object> data = new HashMap<Object, Object>();
27         data.put("userName", "hello world");
28         data.put("list", Arrays.asList("entity1","entity2"));
29         Writer writer = new PrintWriter(System.out);
30
31         template.process(data, writer);
32
33         writer.flush();
34         writer.close();
35         reader.close();
36     }
37 }

Ftl文件:

<p>姓名:${userName}</p>
<p>List:
<#list list as entity>
    ${entity}</br>
</#list>
</p>

输出结果:

<p>姓名:hello world</p>
<p>List:
    entity1</br>
    entity2</br>
</p>
时间: 2024-07-28 22:27:28

简单的freemarker解析测试的相关文章

非常简单的XML解析(SAX解析、pull解析)

这里只是把解析的数据当日志打出来了 非常简单的xml解析方式 1 package com.example.demo.service; 2 3 import java.io.IOException; 4 import java.io.InputStream; 5 6 import javax.xml.parsers.DocumentBuilder; 7 import javax.xml.parsers.DocumentBuilderFactory; 8 import javax.xml.parse

自己动手实现一个简单的JSON解析器

1. 背景 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.相对于另一种数据交换格式 XML,JSON 有着诸多优点.比如易读性更好,占用空间更少等.在 web 应用开发领域内,得益于 JavaScript 对 JSON 提供的良好支持,JSON 要比 XML 更受开发人员青睐.所以作为开发人员,如果有兴趣的话,还是应该深入了解一下 JSON 相关的知识.本着探究 JSON 原理的目的,我将会在这篇文章中详细向大家介绍一个简单的JSON解析器的解析流

Javac源码简单分析之解析和填充符号表

一.说明 符号表是由一组符号地址和符号信息构成的表格.符号表中所登记的信息在编译的不同阶段都要用到,在语义分析(后面的步骤)中,符号表所登记的内容将用于语义检查和产生中间代码,在目标代码生成阶段,党对符号名进行地址分配时,符号表是地址分配的依据. 二.主要的类与方法 解析和填充符号表这个过程主要由com.sun.tools.javac.comp.Entry及com.sun.tools.javac.comp.MemberEnter两个类来实现的. com.sun.tools.javac.comp.

114 的 dns 的解析测试

114 的 dns 号称使用  BGP Global AnyCast 技术多点部署 的方式, 可以将用户请求导向到"就近"的服务器,理论上是可以得到域名网络就近解析的IP的,所以将家里的dns设置为 114.114.114.114. 然后测试了一下. 看来没有想象的好. 扩展阅读 : DNS多点部署IP Anycast+BGP实战分析 http://tech.sina.com.cn/b/2010-01-25/15341227860.shtml 设置 ISP DNS 地址, 解析得到的w

简单的URL解析

简单的URL解析,直接举例说明了 function getUrl(){ //如果存在则取到来后面的参数,注意,?不需要取出,substring从1开始,否则取""; var qs = location.search.length>0?location.search.substring(1):""; //保存数据对象 name=iwen var args = {}; var item = []; var name = null; var value = null

Java 多线程安全问题简单切入详细解析

线程安全 假如Java程序中有多个线程在同时运行,而这些线程可能会同时运行一部分的代码.如果说该Java程序每次运行的结果和单线程的运行结果是一样的,并且其他的变量值也都是和预期的结果是一样的,那么就可以说线程是安全的. 解析什么是线程安全:卖电影票案例 假如有一个电影院上映<葫芦娃大战奥特曼>,售票100张(1-100号),分三种情况卖票: 情况1 该电影院开设一个售票窗口,一个窗口卖一百张票,没有问题.就如同单线程程序不会出现安全问题一样. 情况2 该电影院开设n(n>1)个售票窗口

教大家一个方法如何看自己的网站代码中有没有漏洞,特简单的工具可以用来测试

近来很多网站受到了各种各样形式的攻击,黑客攻击的动机各不一样,黑客人攻击的目标也有不确定性,作为一家企业的网管.或CEO您是否担心您的网站也遭受同样的命运呢? 什么样的站点容易被黑客入侵呢? 有人说,我做人低调点,不得罪人,自然没人黑我了.其实,就算你没有竞争对手雇佣人黑你,也会有好奇的或者练习技术的无聊黑客想入侵您的站一探究竟的. 所以,什么样的站容易被黑客入侵.不是坏人的站,而是有漏洞的网站. 不论您的站是动态的网站,比如asp.php.jsp 这种形式的站点,还是静态的站点,都存在被入侵的

FFmpeg的HEVC解码器源代码简单分析:解析器(Parser)部分

上篇文章概述了FFmpeg中HEVC(H.265)解码器的结构:从这篇文章开始,具体研究HEVC解码器的源代码.本文分析HEVC解码器中解析器(Parser)部分的源代码.这部分的代码用于分割HEVC的NALU,并且解析SPS.PPS.SEI等信息.解析HEVC码流(对应AVCodecParser结构体中的函数)和解码HEVC码流(对应AVCodec结构体中的函数)的时候都会调用该部分的代码完成相应的功能. 函数调用关系图 FFmpeg HEVC解析器(Parser)部分在整个HEVC解码器中的

做个简单的男女体重测试

用((:?)如果-否则): namespace 男女体重测试 { class Program { static void Main(string[] args) { double a, b ,n,m; //做个简单的体重测试 while (true) { Console.WriteLine("请输入性别:");                 string sex= Console.ReadLine(); Console.WriteLine("请输入您的体重(kg):&quo