• 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>
  • 相关阅读:
    HDU-4609 3-idiots FFT
    HDU-1402 A * B Problem Plus FFT(快速傅立叶变化)
    HDU-1007 Quoit Design 平面最近点对
    POJ-3714 Raid 平面最近点对
    HDU-4631 Sad Love Story 平面最近点对
    HDU-4630 No Pain No Game 树状数组+离线操作
    HDU-4628 Pieces 搜索 | DP
    HDU-4627 The Unsolvable Problem 简单数学
    HDU-4638 Group 树状数组+离线
    HDU-4635 Strongly connected 强连通,缩点
  • 原文地址:https://www.cnblogs.com/nick-huang/p/4610891.html
Copyright © 2020-2023  润新知