• FreeMarker


    Freemarker快速上手

      官方网站:freemarker.apache.org

      三个操作步骤:

        1、加载模板

        2、创建数据

        3、输出

        

    package com.imooc.learn;
    
    import java.io.IOException;
    import java.io.OutputStreamWriter;
    import java.util.HashMap;
    import java.util.Map;
    
    import freemarker.core.ParseException;
    import freemarker.template.Configuration;
    import freemarker.template.MalformedTemplateNameException;
    import freemarker.template.Template;
    import freemarker.template.TemplateException;
    import freemarker.template.TemplateNotFoundException;
    
    public class FreeMarkerOne {
    
        public static void main(String[] args) throws TemplateNotFoundException, MalformedTemplateNameException, ParseException, IOException, TemplateException {
            /**
             * 学习freemarker
             */
            //创建核心的配置对象
            Configuration config = new Configuration(Configuration.VERSION_2_3_30);
            
            //设置加载的目录
            
            config.setClassForTemplateLoading(FreeMarkerOne.class, "");
            
            //得到模板对象
            Template t = config.getTemplate("freemarker.ftl");
            
            //创建数据
            
            Map data = new HashMap();
            
            data.put("site", "百度");
            data.put("url", "http://www.baidu.com");
            
            //输出结果
            t.process(data, new OutputStreamWriter(System.out));
            
    
        }
    
    }

    package com.imooc.learn;
    
    import java.util.Date;
    import java.util.Map;
    
    public class Computer {
        
        private String sn;//序列号
        private String model;//型号
        private int state; //状态 1-在用 2-闲置 3-报废
        
        private String user; //使用人
        
        private Date dop;//采购日期
        
        private Float price; //购买价格
        
        private Map info;//电脑配置信息
        
        
        public Computer() {
            
        }
        
        
        public Computer(String sn, String model, int state, String user, Date dop, Float price, Map info) {
            super();
            this.sn = sn;
            this.model = model;
            this.state = state;
            this.user = user;
            this.dop = dop;
            this.price = price;
            this.info = info;
        }
    
    
        public String getSn() {
            return sn;
        }
    
    
        public void setSn(String sn) {
            this.sn = sn;
        }
    
    
        public String getModel() {
            return model;
        }
    
    
        public void setModel(String model) {
            this.model = model;
        }
    
    
        public int getState() {
            return state;
        }
    
    
        public void setState(int state) {
            this.state = state;
        }
    
    
        public String getUser() {
            return user;
        }
    
    
        public void setUser(String user) {
            this.user = user;
        }
    
    
        public Date getDop() {
            return dop;
        }
    
    
        public void setDop(Date dop) {
            this.dop = dop;
        }
    
    
        public Float getPrice() {
            return price;
        }
    
    
        public void setPrice(Float price) {
            this.price = price;
        }
    
    
        public Map getInfo() {
            return info;
        }
    
    
        public void setInfo(Map info) {
            this.info = info;
        }
        
        
    }
    package com.imooc.learn;
    
    import java.io.IOException;
    import java.io.OutputStreamWriter;
    import java.util.Date;
    import java.util.HashMap;
    import java.util.Map;
    
    import freemarker.core.ParseException;
    import freemarker.template.Configuration;
    import freemarker.template.MalformedTemplateNameException;
    import freemarker.template.Template;
    import freemarker.template.TemplateException;
    import freemarker.template.TemplateNotFoundException;
    
    public class FreeMarkerOne {
    
        public static void main(String[] args) throws TemplateNotFoundException, MalformedTemplateNameException, ParseException, IOException, TemplateException {
            /**
             * 学习freemarker
             */
            //创建核心的配置对象
            Configuration config = new Configuration(Configuration.VERSION_2_3_30);
            
            //设置加载的目录
            
            config.setClassForTemplateLoading(FreeMarkerOne.class, "");
            
            //得到模板对象
            Template t = config.getTemplate("freemarker.ftl");
            
            //创建数据
            
            Map data = new HashMap();
            
            //实例化电脑配置 Map对象
            Map info = new HashMap();
            //电脑cpu
            info.put("cpu", "i5");
            //电脑内存
            info.put("momery", "16G");
            //实例化Computer对象
            Computer c1 = new Computer("857","MacPro",1,"admin",new Date(),13000f,info);
            
            data.put("computer", c1);
            
            data.put("site", "百度");
            data.put("url", "http://www.baidu.com");
            data.put("date", new Date());
            data.put("number", 832456.8907);
            
            
            //输出结果
            t.process(data, new OutputStreamWriter(System.out));
            
    
        }
    
    }
    <#--freemarker取值 -->
    
    ${site}-${url}
    
    <#-- ?string 格式化-->
    ${date?string("yyyy年MM月dd日 HH:mm:ss")}
    
    <#-- 默认值 -->
    ${author!"未名意志"}
    
    ${number?string("0.00") }
    
    <#-- 对象 -->
    
    序号:${computer.sn}
    型号:${computer.model}
    使用状态:${computer.state}
    使用者:${computer.user}
    日期:${computer.dop?string("yyyy年MM月dd日")}
    
    价格:${computer.price?string("0.00")}
    ----------------------------------------
    
    电脑配置
        cpu:${computer.info["cpu"]}
        momery:${computer.info["momery"]}

     分支判断

      

       

    <#if computer.state == 1>
        使用状态:在使用
    <#elseif computer.state == 2>
        使用状态:闲置
    <#elseif computer.state == 3>
              使用状态:废弃        
    </#if>
    
    <#-- ?? 是否为空 -->
    <#if author??>
        使用者:${computer.user}
    </#if>
    
    <#switch computer.state>
        <#case 1>
            使用状态:在使用 <#break>
        <#case 2>
            使用状态:闲置  <#break>
        <#case 3>
            使用状态:废弃  <#break>
        <#default>
            什么都没有 <#break>            
    </#switch> 

    List 迭代列表

      

     

     Freemarker内建函数

      

                 replace                                                                                words?replace("blood","*********")

      

       

       中文学习官网:freemarker.foofun.cn 来学习内建函数

      

  • 相关阅读:
    myeclipse 自动部署web项目(自动编译)
    A股、B股区别
    vi分屏指令
    并发用户数与TPS之间的关系
    单台机器安装zookeeper
    Flask-sqlalchemy使用alembic迁移模型_示例1
    Excel VBA 判断是否打开了某个Excel文件
    Excel VBA 从一个带文件夹名和文件名的字符串里提取文件夹名和文件名
    混合编程 从Excel VBA里调用Python模块文件
    Excel VBA 如何在工作表上使用Option Button按钮
  • 原文地址:https://www.cnblogs.com/wuheng-123/p/13737003.html
Copyright © 2020-2023  润新知