zoukankan      html  css  js  c++  java
  • Freemarker-2.3.22 Demo

    package No03_使用map绑定多个参数;
    
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.OutputStreamWriter;
    import java.io.Writer;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    import freemarker.template.Configuration;
    import freemarker.template.Template;
    import freemarker.template.TemplateExceptionHandler;
    
    public class Test {
    
        public static void main(String[] args) throws Exception {
    
            // 设置模板的home目录,默认从此目录获取模板(此设置只需在应用中设置一次) 
            Configuration cfg = new Configuration(Configuration.VERSION_2_3_22);
            cfg.setDirectoryForTemplateLoading(new File("D:/freemarker_template_home/"));
            cfg.setDefaultEncoding("UTF-8");
            cfg.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER);
            
            // 获取模板
            Template temp = cfg.getTemplate("No03_绑定列表数据.ftl");
            
            // 创建、设置数据模型 
            Map<String, Object> dataMap = new HashMap<String, Object>();
            
            List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
            dataMap.put("userList", list);
            
            Map<String, Object> userMap = new HashMap<String, Object>();
            userMap.put("username", "Nick Huang");
            userMap.put("age", 20);
            userMap.put("nickname", "Nick");
            list.add(userMap);
            
            userMap = new HashMap<String, Object>();
            userMap.put("username", "Viki Yang");
            userMap.put("age", 19);
            userMap.put("nickname", "Viki");
            list.add(userMap);
            
            userMap = new HashMap<String, Object>();
            userMap.put("username", "Teng Yang");
            userMap.put("age", 18);
            userMap.put("nickname", "Teng");
            list.add(userMap);
            
            // 将模板和数据模型合并 
            String filename = temp.getName();
            filename = filename.substring(0, filename.lastIndexOf(".") + 1) + "html";
            FileOutputStream fos = new FileOutputStream(new File("D:/freemarker_output_home/" + filename));
            Writer out = new OutputStreamWriter(fos);
            
            temp.process(dataMap, out);
            out.flush();
        }
    
    }
    No03_绑定列表数据.ftl
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>User list</title>
    </head>
    <body>
        <table>
            <thead>
                <tr>
                    <th>user name</th>
                    <th>age</th>
                    <th>nick name</th>
                </tr>
            </thead>
            <tbody>
                <#list userList as being>
                    <tr>
                        <th>${being.username}</th>
                        <th>${being.age}</th>
                        <th>${being.nickname}</th>
                    </tr>
                </#list>
            </tbody>
        </table>
    </body>
    </html>
  • 相关阅读:
    JS来推断文本框内容改变事件
    LINQ To SQL 语法及实例大全
    linux-多线程
    BackTrack5 (BT5)无线password破解教程之WPA/WPA2-PSK型无线password破解
    用Jfree实现条形柱状图表,java代码实现
    OpenGL中glPushMatrix和glPopMatrix的原理
    C# 之 抽象类与接口
    Android漫游记(1)---内存映射镜像(memory maps)
    Web页面布局方式小结
    STL中主要的算法(一)
  • 原文地址:https://www.cnblogs.com/nick-huang/p/4610891.html
Copyright © 2011-2022 走看看