瘋狂

          STANDING ON THE SHOULDERS OF GIANTS
          posts - 481, comments - 486, trackbacks - 0, articles - 1
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          日歷

          <2010年1月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          公告

          公眾號:
          QQjava交流群:51374316



          相冊

          搜索

          •  

          積分與排名

          • 積分 - 2843947
          • 排名 - 2

          最新隨筆

          freemarker例子

          Posted on 2010-01-14 23:02 瘋狂 閱讀(2990) 評論(2)  編輯  收藏 所屬分類: java
          使用freemarke輸出xml:

          import java.io.IOException;
          import java.io.StringWriter;
          import java.util.ArrayList;
          import java.util.HashMap;
          import java.util.List;
          import java.util.Map;

          import freemarker.template.Configuration;
          import freemarker.template.Template;


          public class FrermarkerXml {
           Template testfile;
           Map root;
           FrermarkerXml(){
             init();
             initData();
           }
            private void initData() {
             root = new HashMap();
             User user = new User();
                user.setName("qiaobing11");
                user.setPwd("password11");
                List<Address> addresses = new ArrayList<Address>();
                for (int i = 0; i < 10; i++) {
                 Address address = new Address();
                    address.setName("address_"+i);
                    addresses.add(address);
                   
            }
                Map<String, Address> keyadds = new HashMap<String, Address>();
                for (int i = 0; i < 10; i++) {
                 Address address = new Address();
                 address.setName("mapaddress_"+i);
                 keyadds.put("keyadd_"+i, address);
            }
                user.setAdds(addresses);
                user.setKeyadds(keyadds);
                root.put("user", user);
           }
           private  void init(){
                 try {
                       Configuration tempConfiguration = new Configuration();
                       tempConfiguration.setClassicCompatible(true);
                       tempConfiguration.setClassForTemplateLoading(this.getClass(), "/config");
                       tempConfiguration.setDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
                       tempConfiguration.setNumberFormat("");
                       tempConfiguration.setDefaultEncoding("utf-8");
                       testfile = tempConfiguration.getTemplate("test.flt");
                   } catch (IOException ex) {
                       ex.printStackTrace();
                   }
             }
            public String toString(){

             StringWriter sw = new StringWriter();
                   try {
                   
                    testfile.process(root, sw);
                   
                   } catch (Exception ex) {
                       ex.printStackTrace();
                   }
                   return sw.toString();
            }
           /**
            * @param args
            *
            */
           public static void main(String[] args) {
            System.out.println(new FrermarkerXml().toString());
           }

          }

          user.java

          import java.util.List;
          import java.util.Map;

           

          public class User {

           private String name;
           private String pwd;
           private List<Address> adds;
           private Map<String, Address> keyadds;
           public String getName() {
            return name;
           }
           public void setName(String name) {
            this.name = name;
           }
           public String getPwd() {
            return pwd;
           }
           public void setPwd(String pwd) {
            this.pwd = pwd;
           }
           public List<Address> getAdds() {
            return adds;
           }
           public void setAdds(List<Address> adds) {
            this.adds = adds;
           }
           public Map<String, Address> getKeyadds() {
            return keyadds;
           }
           public void setKeyadds(Map<String, Address> keyadds) {
            this.keyadds = keyadds;
           }
           
           
          }
          address.java


          public class Address {

           private String name;

           public String getName() {
            return name;
           }

           public void setName(String name) {
            this.name = name;
           }
           
          }
          test.flt
          <用戶名>${user.name}</用戶名>
          <密碼>${user.pwd}</密碼>
          <#list user.adds as add>
          <address>
             <地址>List對象address值:${add.name} </地址>
          </address>
          </#list>
          <#list user.keyadds?keys as addkey>
          </address> 
              key:${addkey}
              value:${user.keyadds[addkey].name}
          </address>
          </#list>


          評論

          # re: freemarker例子[未登錄]  回復  更多評論   

          2012-07-19 16:03 by 1
          7

          # re: freemarker例子  回復  更多評論   

          2014-09-01 23:46 by zuidaima
          freemarker demo教程源代碼下載地址:http://zuidaima.com/share/kfreemarker-p1-s1.htm
          主站蜘蛛池模板: 兴安县| 竹溪县| 房产| 嵊州市| 类乌齐县| 顺义区| 定西市| 沈阳市| 平安县| 额济纳旗| 诸城市| 苍南县| 长沙县| 息烽县| 永福县| 建阳市| 锦州市| 山丹县| 纳雍县| 宝鸡市| 泗水县| 海宁市| 华阴市| 大连市| 景洪市| 安图县| 湘潭市| 克拉玛依市| 灵武市| 平原县| 巴塘县| 台中县| 靖安县| 白水县| 阿克苏市| 烟台市| 孝感市| 青岛市| 寿宁县| 诏安县| 亚东县|