<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    超哥說歡迎留言
    超哥說歡迎留言,超哥說歡迎調錯,超哥說歡迎批評,超哥說歡迎指正,超哥說*&%%^$^%#$%$#@ 讀者說,你丫閉嘴!讓不讓人看了!再窮叨叨,抽你丫的?。?

    2005年11月25日

    好久沒有來過我的空間了,這個空間給浪費了,懶得寫。
    今天有些想法,就留兩句吧。
    昨天瀏覽了一下《蔣介石傳》美國人寫的。經過GCD同意出版的,所以對我來講它沒有任何的政治意義。
    我只是從個人發展的角度去看他。
    蔣介石家境并不好,很小就死了父親。父親死后更是艱難,經常受當地富人和官府的欺負。所以蔣是堅決反封建的……:)
    這些都不是重點,重點是蔣20歲之前就已經堅定了他的人生觀,價值觀。
    它在日本求學時一日三餐就三個窩頭,可是他堅持下來了。
    當他在日本見到孫中山時就已經堅決了他以后的道路,方向,在也沒有改動過。
    我們姑且不論對與錯,(我們也沒有資格討論)看看我現在吧,再過幾年就30多了。人生還是沒有明確的目標,沒有方向。
    我真的很羨慕那些有信念,并為其堅貞不渝的人,
    像譚嗣同,像愷撒大帝,像夏明翰…………
    我為什么就不能樹立一個甚至可以為此付出生命的理想呢!
    這是怎么回事?。?br />我得理想呢?我的偉大目標怎么不見了?
    我以前是有理想,有目標的 上學前的理想是————當官
    我記得小時候爺爺奶奶教育我時就是好好學習,長大當官,至于當官后干嗎?不知道!為什么當官?不知道。
    不過這個理想持續到小學一年級就被推翻了。
    上學后老師就說好好學習,以后當科學家或者以后實現共產主義,我靠 這個帽子相——當的大啊。更是扯淡的理想。就為了當個科學家來好好學習?
    雖然把當官推翻了,可是當科學家與共產主義都沒有能夠占領我心中理想的高地。
    上了高中就基本上徹底沒有理想了。有的老師竟會說,好好學習吧,上了大學你忙就可以盡情的玩了。
    呵呵,多誘人的蛋糕啊??墒菦]有人告訴我吃完蛋糕后有力氣了,應該干點啥!
    posted @ 2006-03-17 12:45 超人 閱讀(287) | 評論 (2)編輯 收藏
     

    commons-digester-1.7.jar

    1、功能簡述:解析xml文件;

     

    2、環境配置:所需要用到的jar包÷

      Digester的運行依賴下列包:

    一個遵循Jaxp(1.1版本及以后)的XML解析器 xerces.jar     

    Jakarta commons beanutils包 commons-beanutils.jar (1.5版本及以后)

    Jakarta commons collections包 commons-collections-3.1.jar(2.1版本及以后)

    Jakarta commons logging包 commons-logging-1.0.4.jar(1.0.2版本及以后)
     
    一個簡單的例子  
    3、使用限制:無平臺限制(沒有測試過)


    4、是否可進行封裝:可以進行封裝,但我沒試過


    5、調用思路:
       讀取配置文件時使用。


    6、代碼示例:

    本代碼囊括了xml的大多數基本情況包括屬性值(如:penson的id)單一節點值(如:name),混合節點值(如:email)

     

    ***********Example.xml**********
    <address-book>
      <person id="1" category="acquaintance" try="would be ignored">
        <name>Gonzo</name>
        <email type="business">gonzo@muppets.com</email>
        <gender result="the whole tag would be ignored">male</gender>
      </person>
      <person id="2" category="rolemodel">
        <name>Kermit</name>
        <email type="business">kermit@muppets.com</email>
        <email type="home">kermie@acme.com</email>
      </person>
    </address-book>**********Person.java************
    import java.util.HashMap;
    import java.util.Iterator;
    public class Person {
      private int id;
      private String category;
      private String name;
      private HashMap emails = new HashMap();
      //下面的兩個方法的名字中set以后的部分,與<person>的屬性名字對映。當從xml文件中識別出<person>的屬性時,如果有要求(即調用過addSetProperties方法),Digester會依據這種對映關系自動調用相應的方法。
      public void setId(int id) {
          this.id = id;
      }
      public void setCategory(String category) {
          this.category = category;
      }
      //對name而言,因為其值來自<name>標簽的內容而非屬性值,需要用addCallMethod指定識別<name>后的要調用此方法(想自動調用也要可以,需要addBeanPropertySetter,參見第下一個例子)。
      public void setName(String name) {
          this.name = name;
      }
      //同name,此時還要一一指定addEmail的參數值的來源。
      public void addEmail(String type, String address) {
          emails.put(type, address);
      }
      public void print() {
          System.out.println("Person #" + id);
          System.out.println("  category=" + category);
          System.out.println("  name=" + name);
          for(Iterator i = emails.keySet().iterator(); i.hasNext(); ) {
              String type = (String) i.next();
              String address = (String) emails.get(type);
              System.out.println("  email (type " + type + ") : " + address);
          }
      }
    }
    **********AddressBook.java***********
    import java.util.LinkedList;
    import java.util.Iterator;
    public class AddressBook {
        LinkedList people = new LinkedList();
        public void addPerson(Person p) {
            people.addLast(p);
        }
        public void print() {
            System.out.println("Address book has " + people.size() + " entries");

            for(Iterator i = people.iterator(); i.hasNext(); ) {
                Person p = (Person) i.next();
                p.print();
            }
        }
    }
    ************AddressBookDigester*********
    import org.apache.commons.digester.Digester;
    /**
     * Usage: java Example1 example.xml
     */
    public class AddressBookDigester {
        public static void main(String[] args) {
            if (args.length != 1) {
                usage();
                System.exit(-1);
            }
            String filename = args[0];
            // 創建一個Digester實例
            Digester d = new Digester();
            // 創建AddressBook實例,并將其壓入棧頂。
            AddressBook book = new AddressBook();
            d.push(book);
            // 增加規則
            addRules(d);
            // 處理輸入的xml文件
            try {
                java.io.File srcfile = new java.io.File(filename);
                d.parse(srcfile);
            }
            catch(java.io.IOException ioe) {
                System.out.println("Error reading input file:" + ioe.getMessage());
                System.exit(-1);
            }
            catch(org.xml.sax.SAXException se) {
                System.out.println("Error parsing input file:" + se.getMessage());
                System.exit(-1);
            }
           
           
            // 將解析出的地址數據打印出來
            book.print();
        }
       
        private static void addRules(Digester d) {
            // 當遇到<person>時,創建類Person的一個實例,并將其壓入棧頂
            d.addObjectCreate("address-book/person", Person.class);
           
            // 將<person>標簽的屬性(attribute)與棧頂Person類對象的屬性(property)設置方法根據各自的名字進行映射,(例如,將標簽屬性id與屬性設置方法setId進行映射,將標簽屬性category與屬性設置方法setCategory進行映射),然后將屬性的值作參數傳遞給執行相應的方法。
            // 如果某標簽屬性沒法通過名字找到相應的屬性設置方法,則此標簽屬性被忽略(如example.xml中第一個<person>的try屬性)。
            d.addSetProperties("address-book/person");

            // 調用第二棧頂對象(AddressBook實例)的addPerson方法,以棧對象(Person實例)的對象為參數
            d.addSetNext("address-book/person", "addPerson");       
           
            // 當遇到<person>的子元素<name>時,調用棧頂對象(Person實例)的setName方法。
            // 此處addCallMethod方法的第一參數是規則,第二個參數是方法的名字,第三個是參數的數量(為0時,表示只有一個參數,且參數的值是元素的內容)
            d.addCallMethod("address-book/person/name", "setName", 0);
           
            // 當遇到<person>的子元素<email>時,調用棧頂對象(Person實例)的addEmail方法,addEmail方法有兩個參數,取值分別來自<email>的屬性type的值和<email>本身的內容。
            // 此處addCallParam方法的第一參數是規則,第二個參數是指明被調用方法(addEmail)參數的序號,第三個是參數為字符串時指屬性的名字)
            d.addCallMethod("address-book/person/email", "addEmail", 2);
            d.addCallParam("address-book/person/email", 0, "type");
            d.addCallParam("address-book/person/email", 1);
        }

        private static void usage() {
            System.out.println("Usage: java Example1 example.xml");
        }
    }

    Address book has 2 entries
    Person #1
      category=acquaintance
      name=Gonzo
      email (type business) : gonzo@muppets.com
    Person #2
      category=rolemodel
      name=Kermit
      email (type business) : kermit@muppets.com
      email (type home) : kermie@acme.com

    posted @ 2005-11-30 15:47 超人 閱讀(1734) | 評論 (2)編輯 收藏
     
    ffdfdsa gdfgdgdg dgffgfdgfdhffbffgfdfd 大幅度所附fd大幅度發地方地方
    posted @ 2005-11-25 14:58 超人 閱讀(137) | 評論 (0)編輯 收藏
     
    主站蜘蛛池模板: 亚洲人成综合在线播放| 久久精品国产亚洲av水果派| 亚洲熟妇无码AV不卡在线播放 | 99爱在线精品视频免费观看9| 亚洲视频一区网站| 午夜视频免费在线观看| 亚洲高清专区日韩精品| 成全动漫视频在线观看免费高清版下载| 国产亚洲精品看片在线观看| 国产无遮挡色视频免费观看性色| 亚洲真人无码永久在线| 免费一级毛片在线播放视频| 亚洲精品美女在线观看| 67194成是人免费无码| 最新亚洲人成网站在线观看 | 人妻免费久久久久久久了| 亚洲乱亚洲乱妇无码麻豆| 日韩视频免费在线观看| 亚洲在成人网在线看| 日韩视频免费在线| 丰满妇女做a级毛片免费观看 | 一级毛片免费播放| 亚洲精品第一综合99久久| 免费日本黄色网址| 中文字幕无码免费久久| 亚洲一级高清在线中文字幕| 国产成人高清精品免费软件| 狠狠躁狠狠爱免费视频无码| 亚洲小视频在线观看| 日韩成人免费aa在线看| 99久久免费国产精品热| 91亚洲视频在线观看| 亚洲成av人片在线观看天堂无码| 日本在线看片免费| 男人的天堂av亚洲一区2区| 亚洲va无码专区国产乱码| 黄色成人网站免费无码av| 成人免费ā片在线观看| 国产精品亚洲自在线播放页码 | 免费AA片少妇人AA片直播| 免费激情网站国产高清第一页 |