freeMarker的简单例子

系统用了一套远古时期的数据库访问方式,映射数据库的java文件有四个,要手写,简直恐怖. 搞一套工具. 搞互联网的同事给了建议是freeMarker, 看了下是能满足需要的.
开始做个demo
在这里插入图片描述
ftl是模板文件. html是生成的文件.
a.ftl内容如下

<html><br> 
<head><br> 
<title>Welcome!</title><br> 
</head><br> 
<body><br> 
<#-- 注释部分 --><br> 
<#-- 下面使用插值 --> 
<h1>Welcome ${user} !</h1><br> 
<p>We have these animals:<br> 
<u1><br> 
<#-- 使用FTL指令 --> 
<#list animals as being >
<br> 
   <li>${being.name} for ${being.price} Euros<br> 
</#list>
<br> 
<u1><br> 
</body><br> 
</html> 

java代码如下

private static final String TEMPLATE_PATH = "D:\\freeMarker";
	private static final String CLASS_PATH = "D:\\freeMarker";
	
	public static void main22(String[] args) {
		 // step1 创建freeMarker配置实例
		 Configuration configuration = new Configuration();
		 Writer out = null;
		 try {
		     // step2 获取模版路径
		     configuration.setDirectoryForTemplateLoading(new File(TEMPLATE_PATH));
		     // step3 创建数据模型
		     Map<String, Object> dataMap = new HashMap<String, Object>();
		     dataMap.put("user", "com.freemark.hello");
		     
		     LinkedList<AA> animals = new LinkedList<AA>();
		     AA a = new AA();
		     a.setName("99");
		     a.setPrice(3.3);
		     AA b = new AA();
		     b.setName("959");
		     b.setPrice(53.3);
		     animals.add(a);
		     animals.add(b);
		     dataMap.put("animals", animals);
		     
		     // step4 加载模版文件
		     Template template = configuration.getTemplate("a.ftl");
		     // step5 生成数据
		     File docFile = new File(CLASS_PATH + "\\" + "a.html");
		     out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(docFile)));
		     // step6 输出文件
		     template.process(dataMap, out);
		     System.out.println(" 文件创建成功 !");
		 } catch (Exception e) {
		     e.printStackTrace();
		 } finally {
		     try {
		         if (null != out) {
		             out.flush();
		         }
		     } catch (Exception e2) {
		         e2.printStackTrace();
		     }
		 }
	}

AA 是个简单的javabean

用a.ftl生成的html:

<html><br> 
<head><br> 
<title>Welcome!</title><br> 
</head><br> 
<body><br> 
<br> 
<h1>Welcome com.freemark.hello !</h1><br> 
<p>We have these animals:<br> 
<u1><br> 
<br> 
   <li>99 for 3.3 Euros<br> 
<br> 
   <li>959 for 53.3 Euros<br> 
<br> 
<u1><br> 
</body><br> 
</html> 

add…

wrong
wrong

在这里插入图片描述
right
静态用${} 动态直接写

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值