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

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

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

    大大毛 的筆記

      DDM's Note

    哪怕沒有辦法一定有說法,
    就算沒有鴿子一定有烏鴉,
    固執無罪 夢想有價,
    讓他們驚訝.

    posts - 14, comments - 23, trackbacks - 0, articles - 58
       :: 首頁 ::  :: 聯系 ::  :: 管理

    Digester類的簡單使用方法

    Posted on 2006-07-20 23:57 大大毛 閱讀(2254) 評論(0)  編輯  收藏 所屬分類: Struts

    用一個小實例演示:
    ?????????該例子將演示:讀者正在讀書的情況(讀的什么書,各讀了多少章節)

    ???.需要解析的數據XML

    XML文件

    ???. 需要用到的類:

    Reader類

    Book類

    Chapter類

    測試(演示使用方法):

    測試用例


    運行效果:
    ???姓名:大大毛
    ???共讀書:2本
    ???*****************************
    ???書名:精通Struts?????? 作者:孫衛琴
    ???------------------------------
    ???共讀3章
    ???第1章??? Struts與Java Web應用簡介
    ???第2章??? Struts應用:helloapp應用
    ???第3章??? Struts應用的需求分析與設計
    ???------------------------------
    ???書名:Hibernate開發指南?????? 作者:夏昕
    ???------------------------------
    ???共讀1章
    ???第1章??? Hibernate初識
    ???------------------------------

    ???從測試用例中可以看出,Digester不光解析了XML所含的數據并對照新建了對象,而且還復原了對象之間的關系(一個樹的結構)


    Digester類常用方法:

    addObjectCreate(String?rule,Class? class )

    ???該方法用于構造指定類的對象,
    ???構造時機:
    發現String rule規則所指定的節點

    addSetProperties(String?rule)

    ???該方法用于設置對象的屬性,
    ???設置方法:取String rule規則所指定標簽的屬性?一一對應 的調用對象的setter,注意對象屬性的名稱必須與XML中標簽屬性名稱一致,可一次設置多個屬性
    ???設置時機:發現String rule規則所指定的節點;

    addBeanPropertySetter(String?rule)

    ???該方法的作用及使用方法類似于addSetProperties,只不過它是用String rule規則所指定標簽的值 來 調用對象的setter;

    addCallMethod(String?rule,String?methodName, int ?paraNumber)

    ???該方法同樣是設置對象的屬性,但是方式更加靈活,不需要對象具有setter
    ???設置方法:取String rule規則指定標簽的屬性? 來 調用對象的方法(String methodName參數即是需要調用的方法名),int paraNumber參數是表示方法需要的參數個數
    ???注意:當paraNumber = 0時,可以單獨使用(表明為標簽的值來調用),不然需要配合addCallParam方法

    addCallParam(String?rule, int ?paraIndex,String?attributeName)

    ???該方法與addCallMethod配合使用
    ???設置方法:取String rule規則指定標簽的屬性值來調用方法
    ???參數:
    ??????int paraIndex:表明需要填充的方法形參序號,從 0 開始,方法由addCallMethod指定
    ??????String attributeName:指定標簽屬性名稱

    addSetNext(String?rule,String?methodName)

    ???該方法用于指定下一次出現該標簽時,調用父對象的方法名,與addObjectCreate方法相呼應(不一定會對應,除非是push了Root元素)
    ???流程:
    ??????1.新建當前層元素的對象,相當于一個addObjectCreate
    ??????2.用新建的對象作為參數去調用父對象的指定方法(方法名由String methodName指定)
    ???作用:
    ??????可以復原標簽所表現出來的層次關系

    使用Digester所需要的包:
    ???1. commons-beanutils.jar
    ???2. commons-collections.jar
    ???3. commons-digester.jar
    ???4. commons-logging.jar
    ??如果安裝了Struts框架,那么這些包就都有了

    使用注意事項:
    ???1.Digester類調用的順序,必須與XML數據文件絕對一致;
    ???2.Digester類依賴于JavaBean規范,類必須符合規范;
    ???3.XML文件中標簽/屬性的名稱必須與Bean中的一致(包括大小寫);

    i am ddm

    主站蜘蛛池模板: 亚洲美女在线国产| 一级特黄a免费大片| 理论片在线观看免费| 国产免费网站看v片在线| 免费国产作爱视频网站| 日本中文一区二区三区亚洲| 国产精品久久久亚洲| 亚洲中文字幕久久久一区| 中文字幕在线成人免费看| 免费三级毛片电影片| 亚洲熟妇中文字幕五十中出| 亚洲日韩国产精品乱-久| 狠狠躁狠狠爱免费视频无码| 大学生一级毛片免费看| 在线观看午夜亚洲一区| 亚洲色偷精品一区二区三区| a毛片在线免费观看| 国产高清在线免费视频| 亚洲综合无码一区二区| 无遮挡免费一区二区三区 | 日韩免费高清一级毛片| 99视频在线免费看| 亚洲片一区二区三区| 亚洲午夜一区二区三区| 久久精品成人免费看| 亚洲狠狠爱综合影院婷婷| 亚洲 日韩 色 图网站| 国产免费无码一区二区| 亚洲 无码 在线 专区| 国产精品高清视亚洲精品| 国产一级片免费看| 亚洲人成人无码网www国产| 最新亚洲卡一卡二卡三新区| 日本在线看片免费人成视频1000| 亚洲AⅤ视频一区二区三区| 男人天堂2018亚洲男人天堂| 久久99热精品免费观看动漫| 亚洲情a成黄在线观看| 偷自拍亚洲视频在线观看99| 日韩精品成人无码专区免费| 亚洲第一中文字幕|