一个简单的freemark输入输出的案例(二)
freemarker入门实例
1、设计思路
(1)新建Maven Project
(2)生成freemarker模板
(3)写freemarker页面ftl文件
(4)写测试文件
2、新建Maven Project
3、生成freemarker模板
FreemarkerTemplate.java:
 /**
  * @Title:FreemarkerTemplate.java
  * @Package:com.you.freemarker
  * @Description:freemarker模板
  * @author:Youhaidong(游海东)
  * @date:2014-5-25 下午11:18:00
  * @version V1.0
  */
 package com.you.freemarker;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.Map;
 import freemarker.template.Configuration;
 import freemarker.template.Template;
 import freemarker.template.TemplateException;
 /**
  * 类功能说明
  * 类修改者 修改日期
  * 修改说明
  * <p>Title:FreemarkerTemplate.java</p>
  * <p>Description:游海东个人开发</p>
  * <p>Copyright:Copyright(c)2013</p>
  * @author:游海东
  * @date:2014-5-25 下午11:18:00
  * @version V1.0
  */
 public class FreemarkerTemplate
 {
       /**
        * 生成freemarker模板文件
        * @Title:getTemplate
        * @Description:
        * @param:@param name
        * @param:@return
        * @return:Template
        * @throws
        */
       public Template getTemplate(String name)
       {
           try
           {
               //通过FreeMarker的Configuration读取相应的FTL
               Configuration conf = new Configuration();
               //设置去哪里读取相应的ftl模板文件
               conf.setClassForTemplateLoading(this.getClass(), "/com/you/ftl");
               //在模板文件目录中找到名称为name的文件
               Template temp = conf.getTemplate(name);
               return temp;
           }
           catch (IOException e)
           {
               e.printStackTrace();
           }
         return null;
       }
       /**
        * 将结果输出到控制台
        * @Title:printFtl
        * @Description:
        * @param:@param name
        * @param:@param root
        * @return: void
        * @throws
        */
       public void printFtl(String name,Map<String,Object> root)
       {
           try
           {
               //通过Template可以将模板文件输出到相应的流
               Template temp = this.getTemplate(name);
               temp.process(root, new PrintWriter(System.out));
           }
           catch (TemplateException e)
           {
               e.printStackTrace();
           }
           catch (IOException e)
           {
               e.printStackTrace();
           }
       }
 }
4、写freemarker页面ftl文件
user.ftl:
 姓名:${username}
 年龄:${age}
 性别:${sex}
5、写测试文件
FreemarkerTest.java:
 /**
  * @Title:FreemarkerTest.java
  * @Package:com.you.test.freemarker
  * @Description:Freemarker测试
  * @author:Youhaidong(游海东)
  * @date:2014-5-25 下午11:32:15
  * @version V1.0
  */
 package com.you.test.freemarker;
 import java.util.HashMap;
 import java.util.Map;
 import org.junit.Before;
 import org.junit.Test;
 import com.you.freemarker.FreemarkerTemplate;
 /**
  * 类功能说明
  * 类修改者 修改日期
  * 修改说明
  * <p>Title:FreemarkerTest.java</p>
  * <p>Description:游海东个人开发</p>
  * <p>Copyright:Copyright(c)2013</p>
  * @author:游海东
  * @date:2014-5-25 下午11:32:15
  * @version V1.0
  */
 public class FreemarkerTest
 {
     FreemarkerTemplate ft;
     /**
      *
      * @Title:buildUp
      * @Description:实例化对象
      * @param:
      * @return: void
      * @throws
      */
     @Before
     public void buildUp()
     {
         ft = new FreemarkerTemplate();
     }
     /**
      *
      * @Title:testFreemarker
      * @Description:测试结果
      * @param:
      * @return: void
      * @throws
      */
     @Test
     public void testFreemarker()
     {
         //创建数据模型
         Map<String,Object> root = new HashMap<String,Object>();
         //为数据模型添加值
         root.put("username", "张三");
         root.put("age", "22");
         root.put("sex", "男");
         //将数据模型和模板中的数据输出到控制台
         ft.printFtl("user.ftl", root);
     }
 }
6、测试结果
姓名:张三 年龄:22 性别:男
一个简单的freemark输入输出的案例(二)的更多相关文章
- 一个简单的freemark输入输出的案例(一)
		一. 创建FreeMarker模板文件user.ftl <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN&qu ... 
- Java实现一个简单的文件上传案例
		Java实现一个简单的文件上传案例 实现流程: 1.客户端从硬盘读取文件数据到程序中 2.客户端输出流,写出文件到服务端 3.服务端输出流,读取文件数据到服务端中 4.输出流,写出文件数据到服务器硬盘 ... 
- 用C写一个简单的推箱子游戏(二)
		下面接着上一篇随笔<用C写一个简单的推箱子游戏(一)>来写 tuidong()函数是用来判断游戏人物前方情况的函数,是推箱子游戏中非常重要的一个函数,下面从它开始继续介绍推箱子的小程序怎么 ... 
- iOS开发UI篇—使用UItableview完成一个简单的QQ好友列表(二)
		一.实现效果 二.实现代码 1.数据模型部分 YYQQGroupModel.h文件 // // YYQQGroupModel.h // 02-QQ好友列表(基本数据的加载) / ... 
- 搭建一个简单的本地的dubbo-demo案例
		一.创建一个Maven工程,然后创建三个module模块 二.dubbo-api(maven模块) 创建一个api类,命名为ApiService.java package com.example.se ... 
- 基于ACE的TAO开发---一个简单的入门实例-----VS2008(二)
		上一节已经说了如何编译idl文件.现在就用编好的文件来写一个最小的corba小程序的.程序分为服务器程序和客户端程序. 说明下,代码是<基于C++CORBA高级编程>一书中的例子. 1.首 ... 
- 自动化运维:(3)写一个简单的Shell脚本(案例)
		一.需求 1.test.sh 脚本执行时候需要添加参数才能执行 参数和功能详情如下: 参数 执行效果 start 启动中... stop 关闭中... restart 重启中... * 脚本帮助信息. ... 
- 一个简单有效的kubernetes部署案例
		部署web-rc:web应用需要去获取redis注入的ip环境变量cluster_ip,以此来访问 [root@sdw1 files]# cat testweb-rc.yaml kind: Repli ... 
- 用C写一个简单的推箱子游戏(一)
		我现在在读大二,我们有一门课程叫<操作系统>,课程考查要求我们可以写一段程序或者写Windows.iOS.Mac的发展历程.后面我结合网上的资料参考,就想用自己之前简单学过的C写一关的推箱 ... 
随机推荐
- [SCOI2010]幸运数字 [容斥原理 dfs]
			题意:"幸运号码"是十进制表示中只包含数字6和8的那些号码,求\([l,r]:r \le 10^10\)之间"幸运号码"的倍数个数 发现幸运号码貌似很少唉,去掉 ... 
- 自用最小生成树模板(基于Kruskal)
			200ms的板子,我尽力了,以我自己的能力没法再快了... 基于Kruskal的做法,跑了200ms,以我自己的能力没办法再快了,不过翻了几页评测列表发现我是最快的...我觉得应该会有更快的方法.想法 ... 
- OI黑科技:读入优化
			利用getchar()函数加速读入. Q:读入优化是什么? A :更加快速地读入一些较大的数字. Q:scanf不是已经够快了吗? A:Naive,scanf还是不!够!快! Q:那怎么办呢? A:我 ... 
- BZOJ 1040: [ZJOI2008]骑士 [DP 环套树]
			传送门 题意:环套树的最大权独立集 一开始想处理出外向树树形$DP$然后找到环再做个环形$DP$ 然后看了看别人的题解其实只要断开环做两遍树形$DP$就行了...有道理! 注意不连通 然后洛谷时限再次 ... 
- Linux修改IP永久生效
			修改IP永久生效按以下方法: 1)修改配置文件vi /etc/sysconfig/network-scripts/ifcfg-eth0(eth0,第一块网卡,如果是第二块则为eth1) 按如下修改ip ... 
- PYTHON3 RE正则表达:
			The special characters are: "." Matches any character except a newline. "^" Matc ... 
- Angular20 nginx安装,angular项目部署
			1 nginx安装(Windows版本) 1.1 下载安装包 到官网下载Windows版本的nginx安装包 技巧01:下载好的压缩包解压即可,无需安装 1.2 启动nginx 进入到解压目录,点击 ... 
- python装饰器探究与参数的领取
			首先上原文, 现在,假设我们要增强now()函数的功能,比如,在函数调用前后自动打印日志,但又不希望修改now()函数的定义,这种在代码运行期间动态增加功能的方式,称之为"装饰器" ... 
- Nginx:413 Request Entity Too Large解决
			最近在做给博客添加上传PDF的功能,但是在测试上传文件的过程中遇到了413 Request Entity Too Large错误.不过这个无错误是很好解决的,这个错误的出现是因为上传的文件大小超过了N ... 
- python学习:函数的递归调用
			计算阶层 普通方法: -使用循环 #!/usr/bin/python def factorial(n): sum = 1 for i in range(1,n+1): ... 
