一个简单的freemark输入输出的案例(一)
一、 创建FreeMarker模板文件user.ftl
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv=Content-Type content="text/html; charset=utf-8"> <title>user.ftl</title> </head> <body> ${user.userName} ${user.userPassword} </body> </html>
二、 创建FreeMarker模板文件动态绑定的数据对象类User.java(Sring中pojo)
User.java //..省略包的导入 public class User{ private String userName; private String userPassword; …省略 getter()与setter方法 }
三、 创建FreeMarker模板文件解析器类FreeMarkertUtil
FreeMarkertUtil.java //省略包的导入 Public class FreeMarkerUtil{ //templatePath模板文件存放路径 //templateName 模板文件名称 //filename 生成的文件名称 public static void analysisTemplate ( String templatePath,String templateName,String fileName,Map<?,?>root ){ try { Configuration config=new Configuration(); // 设置要解析的模板所在的目录,并加载模板文件 config.setDirectoryForTemplateLoading(new File(templatePath)); //设置包装器,并将对象包装为数据模型 config.setObjectWrapper(new DefaultObjectWrapper()); //获取模板,并设置编码方式,这个编码必须要与页面中的编码格式一致 //否则会出现乱码 Template template=config.getTemplate(templateName,“UTF-8”); //合并数据模型与模板 FileOutputStream fos = new FileOutputStream(fileName); Writer out = new OutputStreamWriter(fos,“UTF-8”); template.process(root, out); out.flush(); out.close(); } catch (IOException e) { e.printStackTrace(); }catch (TemplateException e) { e.printStackTrace(); } } }
四、 创建FreeMarker生成静态页面测试类ClientTest.java
//..省略包的导入 public class ClientTest{ public static void main(String[] args){ User user=new User(); user.setUserName("张三"); user.setUserPassword("123"); Map<String,Object> root=new HashMap<String, Object>(); root.put("user", user); String templatesPath="D:/DevPlateForm/Eclipse/workspaces/freeMakerTest/src/templates"; String templateFile="/user.ftl"; String htmlFile=templatesPath+"/user.html"; FreeMarkertUtil.analysisTemplate(templatesPath,templateFile,htmlFile,root); } }
一个简单的freemark输入输出的案例(一)的更多相关文章
- 一个简单的freemark输入输出的案例(二)
freemarker入门实例 1.设计思路 (1)新建Maven Project (2)生成freemarker模板 (3)写freemarker页面ftl文件 (4)写测试文件 2.新建Maven ...
- Java实现一个简单的文件上传案例
Java实现一个简单的文件上传案例 实现流程: 1.客户端从硬盘读取文件数据到程序中 2.客户端输出流,写出文件到服务端 3.服务端输出流,读取文件数据到服务端中 4.输出流,写出文件数据到服务器硬盘 ...
- 搭建一个简单的本地的dubbo-demo案例
一.创建一个Maven工程,然后创建三个module模块 二.dubbo-api(maven模块) 创建一个api类,命名为ApiService.java package com.example.se ...
- 一个简单有效的kubernetes部署案例
部署web-rc:web应用需要去获取redis注入的ip环境变量cluster_ip,以此来访问 [root@sdw1 files]# cat testweb-rc.yaml kind: Repli ...
- 自动化运维:(3)写一个简单的Shell脚本(案例)
一.需求 1.test.sh 脚本执行时候需要添加参数才能执行 参数和功能详情如下: 参数 执行效果 start 启动中... stop 关闭中... restart 重启中... * 脚本帮助信息. ...
- 3小时搞定一个简单的MIS系统案例Northwind,有视频、有源代码下载、有真相
一.瞎扯框架.架构 楼主自从1998年从C语言.MASM.Foxbase开始学计算机开始接触这个行当16年以来,2001年干第一份与程序.软件.然后是各种屌的东西开始,差不多干了13年了,这13年来, ...
- 从一个简单案例上手Spring MVC,同时分析Spring MVC面试问题
很多公司都会用Spring MVC,而且初级程序员在面试时,一定会被问到这方面的问题,所以这里我们来通过一个简单的案例来分析Spring MVC,事实上,我们在培训中就用这个举例,很多零基础的程序员能 ...
- 一个简单的案例带你入门Dubbo分布式框架
相信有很多小伙伴都知道,dubbo是一个分布式.高性能.透明化的RPC服务框架,提供服务自动注册.自动发现等高效服务治理方案,dubbo的中文文档也是非常全的,中文文档可以参考这里dubbo.io.由 ...
- 如何用DAX实现查看每个月中不同类别排名前一位,以及一个简单的svg案例
现在给大家带来的是如何用DAX实现查看每个月中不同类别的排名前一位,最终完成效果如下!!! 首先我们需要两张简单的表 基数表 和类别表 当我们创建好表之后,我们再创建一个表格,然后我们将类别表里的列值 ...
随机推荐
- BZOJ 3997: [TJOI2015]组合数学 [偏序关系 DP]
3997: [TJOI2015]组合数学 题意:\(n*m:\ n \le 1000\)网格图,每个格子有权值.每次从左上角出发,只能向下或右走.经过一个格子权值-1.至少从左上角出发几次所有权值为0 ...
- 【转】 C/C++程序员必须熟练应用的开源项目
作为一个经验丰富的C/C++程序员, 肯定亲手写过各种功能的代码, 比如封装过数据库访问的类, 封装过网络通信的类,封装过日志操作的类, 封装过文件访问的类, 封装过UI界面库等, 也在实际的项目中应 ...
- Django搭建博客网站(三)
Django搭建博客网站(三) 第三篇主要记录view层的逻辑和template. Django搭建博客网站(一) Django搭建博客网站(二) 结构 网站结构决定我要实现什么view. 我主要要用 ...
- C语言之prinf的用法
1. n换行字符 1).直接输出内容 printf("哈哈\n"); 2).带参数的输出 int i = 10 ; %d:输入控制符 printf ("%d\n" ...
- ubuntu的网络配置
1,检查网络是否通畅 ping www.baidu.com 2,检查网线是否插好 3,使用ifconfig查看当前活跃网络接口 ifconfig 4,配置IP地址.子网掩码.网关地址 sudo vi ...
- 零基础2018如何系统地学习python?
首先告诉你的是,零基础学习开始系统学习Python肯定难,Python的专业程度本身就不简单,学习这事本来就是一件非常煎熬的事情,人都不愿意学习,可是没办法,为了生存掌握一个技能,你必须学,如果你认真 ...
- python进阶学习笔记(一)
python进阶部分要学习的内容: 学习目标: 1.函数式编程 1.1,什么是函数式编程 函数式编程是一种抽象计算的编程模式 不同语言的抽象层次不同: 函数式编程的特点: python支持的函数式编程 ...
- Java经典编程题50道之三十九
写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度. public class Example39 { public static void main(String[] a ...
- 《android开发艺术探索》读书笔记(八)--WindowManager
接上篇<android开发艺术探索>读书笔记(七)--动画 No1: Window是一个抽象类,它的具体实现是PhoneWindow.创建一个Window是很简单的事,只需要通过Windo ...
- hdu1995 汉诺塔V
可以直接把前K-1个罗盘全部忽略了,因为移动前K-1个罗盘不会影响第K个. 也就是相当于只移动剩下的n-k-1个罗盘,当只移动第k个罗盘时,f(k)=1;当要哟东第k个和第k+1个时,就必须先把第k个 ...