<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 大大毛 閱讀(2255) 評論(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

    主站蜘蛛池模板: 亚洲精品成人久久| 美美女高清毛片视频黄的一免费 | 尤物永久免费AV无码网站| 色偷偷尼玛图亚洲综合| 亚洲成a人无码亚洲成www牛牛 | 亚洲日韩精品无码专区网站| 亚洲精品无码永久在线观看男男| 亚洲免费在线视频播放| 午夜亚洲AV日韩AV无码大全| 免费精品人在线二线三线区别| 免费人成在线观看播放a| 99久久亚洲综合精品成人网| 国产成人无码区免费内射一片色欲| 亚洲日韩VA无码中文字幕 | 国产成人精品无码免费看| 亚洲中文字幕无码一区二区三区| 91成人在线免费视频| 亚洲av成人无码久久精品| 成年性羞羞视频免费观看无限 | 国产精品色午夜免费视频| av永久免费网站在线观看| 亚洲国产成人无码AV在线| 亚洲精品免费视频| 最近免费中文字幕大全免费| 狠狠入ady亚洲精品| 内射干少妇亚洲69XXX| 精品久久洲久久久久护士免费| 亚洲国产精品久久久久秋霞小 | 国产AV无码专区亚洲AV琪琪| 亚洲午夜爱爱香蕉片| 久久久www成人免费毛片| 久久午夜夜伦鲁鲁片无码免费| 美女露100%胸无遮挡免费观看| 亚洲精品国产专区91在线| 亚洲一区二区三区影院 | 国产成人免费ā片在线观看老同学 | 久久久久久国产a免费观看黄色大片 | 中文字幕亚洲一区二区va在线| 女人18毛片a级毛片免费| 99久久免费精品高清特色大片| 一级一黄在线观看视频免费|