首先,导入jar包
freemark的demo类:
1 public class FMDemo { 2 3 //实例化Freemarker 配置类 ftl freemarker templet 4 // .java .html .jsp .xml 5 // .ftl .txt 6 //dao bean xml service controller .jsp 7 public static void main(String[] args) throws IOException, TemplateException { 8 //模板 + 数据模型 = 输出 9 Configuration conf = new Configuration();10 //告诉conf 类 模板放在哪里11 String dir = "C:\\Users\\cuibin\\workspace-juno\\freemarker\\ftl\\";12 // 模板放在哪里13 conf.setDirectoryForTemplateLoading(new File(dir)); 14 //模板对象15 Template template = conf.getTemplate("freemarker.html");16 //数据17 Map root = new HashMap();18 root.put("world", "世界你好");19 //120 Person person = new Person();21 person.setId(1);22 person.setName("薪水");23 root.put("person", person);24 //2 List25 Listpersons = new ArrayList ();26 persons.add("范冰冰");27 persons.add("李冰冰");28 persons.add("何灵");29 root.put("persons", persons);30 //3 Map31 Map mx = new HashMap();32 mx.put("fbb","范冰冰");33 mx.put("lbb","李冰冰");34 root.put("mx",mx);35 //4: List
模板页freemaker.html:
1 2 3 4Insert title here 5 6 7 ${world} 8 9 ${person.id}/${person.name} 10 11 17 18 <#list persons as person> 19 ${person} 20 21 22 26 <#list mx?keys as key> 27 ${mx[key]} 28 29 30 ${mx.fbb}/${mx.lbb} 31 32 42 <#list maps as map > 43 <#list map?keys as key> 44 ${map[key]} 45 46 47 <#list maps as map > 48 ${map.id1}/${map.id2} 49 50 51 52 <#list persons as p> 53 ${p_index} 54 55 56 57 <#assign x='${world}' /> 58 ${x} 59 60 <#assign x>世界太好了 61 ${x} 62 63 <#assign x> 64 <#list ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期天"] as n> 65 ${n} 66 67 68 ${x} 69 70 <#list ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期天"] as n> 71 <#if n != "星期一"> 72 ${n} 73 74 75 <#list ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期天"] as n> 76 <#if n_index != 0> 77 ${n} 78 79 80 81 <#list ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期天"] as n> 82 <#if (n_index == 1) || (n_index == 3)> 83 ${n} 84 85 86 87 <#list ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期天"] as n> 88 <#if (n_index == 1) || (n_index == 3)> 89 ${n} --红色 90 <#else> 91 ${n} --绿色 92 93 94 95 ${cur_time?datetime} 96 97 ${val!} 98 99 100 <#macro table pageNo>101 ${pageNo} 102 如果是每一页 1103 ...104 105 <@table pageNo=8 />106 107 <#macro table u>108 ${u}109 <#nested/>110 111 <@table u=8 >这是8 112 113 114 115 116 117 118 119 120 121 122 123
执行demo的main方法生成输出页:
1 2 3 4Insert title here 5 6 7 世界你好 8 9 1/薪水 10 11 17 18 范冰冰 19 李冰冰 20 何灵 21 22 23 27 李冰冰 28 范冰冰 29 30 31 范冰冰/李冰冰 32 33 43 李冰冰 44 范冰冰 45 何炅 46 曾志伟 47 48 范冰冰/李冰冰 49 曾志伟/何炅 50 51 52 0 53 1 54 2 55 56 57 世界你好 58 59 世界太好了 60 61 星期一 62 星期二 63 星期三 64 星期四 65 星期五 66 星期六 67 星期天 68 69 70 星期二 71 星期三 72 星期四 73 星期五 74 星期六 75 星期天 76 星期二 77 星期三 78 星期四 79 星期五 80 星期六 81 星期天 82 83 84 星期二 85 星期四 86 87 88 星期一 --绿色 89 星期二 --红色 90 星期三 --绿色 91 星期四 --红色 92 星期五 --绿色 93 星期六 --绿色 94 星期天 --绿色 95 96 97 2015-5-11 15:39:02 98 99 100 101 102 8 103 如果是每一页 1104 ...105 106 107 8108 这是8109 110 111 112 113 114 115 116 117 118 119 120