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

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

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

    java隨記

    堅持就是勝利!

     

    jsf1.2 自定義日歷組件

    開發自己的jsf組件并不是一件容易的事情,因為jsf組件對于應用程序員來說還是過于復雜跟耗費時間了。開發不依賴于具體實現jsf-api的第三方jar包的組件就更不容易了,要做的工作比較的多.本例參照了一個jsf1.1組件的開源跟jsf1.2-RI的源碼,理論上應該是可以通用的組件,并且是一個實用的基于jsf1.2的日歷組件。.因為源碼太長,不方便在這里一一貼出來,只好簡略介紹一下各個類的功能,及一些配置了,感興趣的朋友可以從附件里下載.如果要用在別的地方可以自己打個jar包.jsf自定義組件至少需要三個類:
      處理標簽屬性的類com.sun.faces.metal.MetalCalendarTag,維護狀態處理輸入的類com.sun.faces.metal.MetalCalendar和一個外部呈現器類com.sun.faces.metal.MetalCalendarRenderer(其中addRequiredMessage(FacesContext context, MetalCalendar cal)之類的方法很有趣,定義了<h:message> 標簽的一些類容),這里著重說明一下標簽處理類,因為jsf1.2跟jsf1.1的實現有些不一樣,原因是jsf1.2使用了統一的EL語言。
    Jsf1.2中所有的自定義標簽的屬性都是一個javax.el.ValueExpression的實例,所有的方法綁定都是一個javax.el.MethodExpression的實例,不再需要去創建一個ValueBinding和MethodBiding.關于這一點可以參考網上的jsf1.2新特性的文檔。com.sun.faces.metal.HtmlBasicRenderer類很干脆,直接從jsf1.2-RI中copy過來略加改動,是com.sun.faces.metal.MetalCalendarRenderer的超類。
    com.sun.faces.metal.metl. StaticResourcePhaseListener類一個事件監聽類,它的作用是把一些js,css,圖像文件等輸出到客戶端,以定制組件的外觀,而不是在呈現器類中通過writerAttribute(“img”,”tt.gif”,”img”)之類的通過圖象的URL去定位這個文件。這樣的目的只有一個,就是文件打成jar包,以便供第三方使用。
     com.sun.faces.metal.util.FacesMessage類很也很干脆從javax.faces.application.FacesMessage類繼承而來,實際上只是為了改變下一FACES_MESSAGES 屬性,使之看起來像這樣public static final String FACES_MESSAGES = "com.sun.faces.metal.util.Messages"; com.sun.faces.metal.util包中有兩個Messages.properties屬性文件,一個是針對中文的.
    com.sun.faces.metal.util.FacesMessageFactory類也只是從jsf1.2-ri包中復制過來的.這樣我們就可以完全不依賴jsf-api的實現而定義了自己的message屬性.
    剩下的就是一些輔助類了,也還算容易看的懂.
    原本應該很庸長的一些敘述在這里極度濃縮了,簡直就是沒法理解的,好在如果有自定義jsf組件的基礎,源碼也應該還看得懂.源碼下載

    posted on 2007-10-08 10:58 傻 瓜 閱讀(2891) 評論(5)  編輯  收藏 所屬分類: Java Server Faces

    評論

    # re: jsf1.2 自定義日歷組件 2007-10-08 11:44 千里冰封

    不錯,JSF寫自定義日歷,不容易  回復  更多評論   

    # re: jsf1.2 自定義日歷組件[未登錄] 2008-03-17 10:47 dolphin

    good.............very. 學習  回復  更多評論   

    # re: jsf1.2 自定義日歷組件 2008-04-20 21:43 阿德

    非常感謝LZ 分享!  回復  更多評論   

    # re: jsf1.2 自定義日歷組件 2008-07-04 10:35 spear

    我打包引入到項目后,該如何配置呢?  回復  更多評論   

    # re: jsf1.2 自定義日歷組件 2008-07-07 15:31 87

    如果引入到項目的話,所配置拷過去就行了.如果打包成jar文件直接放到web-inf/lib下的話,請參考jsf相關文檔,看看怎么打包的  回復  更多評論   

    導航

    統計

    常用鏈接

    留言簿(7)

    我參與的團隊

    隨筆分類

    隨筆檔案

    文章分類

    友情鏈接

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 1000部无遮挡拍拍拍免费视频观看| 一区在线免费观看| 6080午夜一级毛片免费看| 亚洲第一AAAAA片| 日本道免费精品一区二区| 亚洲免费人成在线视频观看| 伊人免费在线观看高清版| 国产亚洲综合色就色| 久久久久免费精品国产小说| 色婷婷六月亚洲婷婷丁香| 亚洲免费在线视频观看| 亚洲精品中文字幕乱码影院| 成年女人色毛片免费看| 亚洲av纯肉无码精品动漫| 国产一级淫片视频免费看| 豆国产96在线|亚洲| 国产AⅤ无码专区亚洲AV| 大地资源中文在线观看免费版| 亚洲精品成人av在线| 久久99九九国产免费看小说| 精品亚洲av无码一区二区柚蜜| 国产在线ts人妖免费视频| 全部一级一级毛片免费看| 亚洲AV无码一区二区乱孑伦AS| 外国成人网在线观看免费视频| 亚洲天堂免费在线| 国产精品冒白浆免费视频 | 国产大片免费观看中文字幕| 一级毛片免费不卡直观看| 久久亚洲精品国产精品黑人| 中文字幕视频免费| 亚洲老熟女五十路老熟女bbw| 亚洲日韩精品无码专区网站| 久久久精品午夜免费不卡| 亚洲中文字幕一区精品自拍| 亚洲国产专区一区| 亚洲精品视频在线观看免费| 亚洲偷自精品三十六区| 亚洲国产综合久久天堂| 91网站免费观看| 精品一区二区三区免费视频|