zoukankan      html  css  js  c++  java
  • JAVA FreeMarker工具类

    FreeMarkerUtil.java

     1 package pers.kangxu.datautils.utils;
     2 
     3 import java.io.File;
     4 import java.io.StringWriter;
     5 import java.util.Map;
     6 
     7 import pers.kangxu.datautils.common.Constants;
     8 
     9 import freemarker.template.Configuration;
    10 import freemarker.template.Template;
    11 
    12 /**
    13  * 
    14  * <b>
    15  *    FreeMarkerUtil 模板工具
    16  * </b>
    17  * @author kangxu
    18  *
    19  */
    20 public class FreeMarkerUtil {
    21     
    22     /**
    23      * 
    24      * TODO
    25      * <br>
    26      * @author kangxu2 2016-11-23
    27      *
    28      * @param fltFile  flt文件名
    29      * @param templatePath flt文件路径   src/template
    30      * @param datas 数据集合
    31      * @return
    32      */
    33     public static String geneFileStr(String fltFile,String templatePath,Map<String, Object> datas){
    34         
    35         Configuration cfg = new Configuration();
    36         try {
    37             cfg.setDirectoryForTemplateLoading(new File(templatePath));
    38             Template template = cfg.getTemplate(fltFile,Constants.ENCODING);
    39             template.setEncoding(Constants.ENCODING);
    40             
    41             StringWriter out = new StringWriter();  
    42             
    43             template.process(datas, out);  
    44             
    45             out.flush();
    46             out.close();
    47             
    48             return out.getBuffer().toString();
    49             
    50             
    51         } catch (Exception e) {
    52             e.printStackTrace();
    53         } 
    54         
    55         return null;
    56         
    57     }
    58  
    59 }

     使用方式 FreeMarkerUtilTester.java

     1 package pers.kangxu.datautils.test;
     2 
     3 import java.util.HashMap;
     4 import java.util.Map;
     5 
     6 import pers.kangxu.datautils.common.verifycode.BuildVerifyCode;
     7 import pers.kangxu.datautils.utils.FreeMarkerUtil;
     8 
     9 public class FreeMarkerUtilTester {
    10 
    11     public static void main(String[] args) {
    12         Map<String, Object> datas = new HashMap<String, Object>();
    13         datas.put("code", BuildVerifyCode.generateVerifyCode(4));
    14         System.out.println(FreeMarkerUtil.geneFileStr("sms.flt","template",datas));
    15     }
    16 }

    sms.flt

     1 您的验证码是:${code}。请不要把验证码泄露给其他人。 

    运行结果

     

    学习无止尽,代码我疯狂
  • 相关阅读:
    android socket传输序列化对象的代码
    python通过pil模块对图片格式进行转换的代码
    python获取命令行参数的代码
    【LEETCODE】41、905. Sort Array By Parity
    【LEETCODE】40、1051. Height Checker
    【LEETCODE】39、第561题 Array Partition I
    【LEETCODE】38、167题,Two Sum II
    【LEETCODE】37、122题,Best Time to Buy and Sell Stock II
    【LEETCODE】36、121题,Best Time to Buy and Sell Stock
    【LEETCODE】35、169题, Majority Element
  • 原文地址:https://www.cnblogs.com/kangxu/p/6248747.html
Copyright © 2011-2022 走看看