瘋狂

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

          freemarker例子

          Posted on 2010-01-14 23:02 瘋狂 閱讀(2991) 評論(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
          主站蜘蛛池模板: 东安县| 延寿县| 江北区| 芷江| 静宁县| 永和县| 敦煌市| 司法| 封开县| 广平县| 海城市| 宝清县| 那坡县| 北碚区| 黄龙县| 深泽县| 敦化市| 安丘市| 讷河市| 巴彦淖尔市| 洞头县| 通州市| 孟连| 彝良县| 金堂县| 天长市| 新疆| 开化县| 巴林右旗| 庆阳市| 桦川县| 旬阳县| 凌源市| 禹城市| 融水| 库伦旗| 卓资县| 辉县市| 修武县| 赫章县| 石嘴山市|