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

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

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

    隨筆 - 170  文章 - 536  trackbacks - 0
    <2006年5月>
    30123456
    78910111213
    14151617181920
    21222324252627
    28293031123
    45678910

    常用鏈接

    我參與的團隊

    隨筆分類(103)

    搜索

    •  

    積分與排名

    • 積分 - 413991
    • 排名 - 135

    最新評論

    閱讀排行榜

    過去的一段時間,一直有人拿 JSF 的 Navigation 當靶子,批評 JSF,其實細心的人會發現,在 Java 世界,這樣的批評常常是很片面的,幾乎所有成熟的應用框架,在除了實現某些默認的功能外,還保留一些擴展的接口,提供了相當的擴展性,比如說 struts, spring 等很多的 web framework 都提供了很多擴展的接口,當然,JSF 也一樣。JSF 的 Navigation 中,我們一個 page 都有一個 from-view-id ,它的每個 navigation 出口 to-view-id 都必須定義,所以在不同的 from-view-id 中會有一些重復的 to-view-id,并且每當有一個新的 navigation 路徑,我們都必須配置這個路徑,才能夠在 action 中正確的轉向我們這個路徑。很多情況下,這樣的方式用起來都不是很爽,我們需要有一些簡單的方式,我們在 action 事件中,直接 return 一個 page 的 path 就會直接 forward 到這個 page ,在用的時候會方便一些,有沒有辦法去做到呢?

      答案是肯定的。

      在 JSF 的 Specification 中 7.4 中對 Naviation 已經有很明確的規定了,在 JSF API 中,提供了 NavigationHandler 這樣一個抽象類。

      abstract void handleNavigation(FacesContext context, java.lang.String fromAction, java.lang.String outcome)

      我們只要實現這樣的抽象方法,就可以實現一個自己定制的 Navigation 實現,當然我們現在用的只是一個 Default 的實現了,如果你希望按照你自己的想法去 Navigation 你的 Application,那么很簡單,你只要實現你自己的 handleNavigation 方法就可以了。

      接著,需要在 face-config.xml 的 application 部分加入一些配置:
      <application>
        <navigation-handler>
            your navigation handle implement
        </navigation-handler>
      </application>

      試試看,在你的應用中,是不是已經按照你的 Navigation 在走了呢?

      在
    http://www.thearcmind.com/confluence/display/SpribernateSF/Spring+JSF+contribution+Round+2+NavigationHandlerSupport%2C+PrefixSuffixNavigationHandler 這篇文檔中,給了我們一個參考的實現,它提供了兩種方式來實現它的導航,我把相關的代碼附在本文后面,大家可以參考并很容易把它應用到你自己的應用中去了。


    http://www.tkk7.com/Files/steady/navigation.rar
    posted on 2006-05-29 08:52 steady 閱讀(2442) 評論(2)  編輯  收藏 所屬分類: JSF & Myfaces

    FeedBack:
    # re: JSF 中使用自定義 Navigation 2006-06-30 16:42 開源學習
    請教一個問題
    <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
    </servlet-mapping>
    項目中并沒有以。jsf為后勁綴的面頁,jsf是如何解析的呢?

    比如testjsf.jsp,當我打http://localhost:8080/XXX/testjsf.jsf自動解析testjsf.jspz這個面頁!
    why?
    jiaj
    2006-6-30  回復  更多評論
      
    # re: JSF 中使用自定義 Navigation 2008-02-02 11:39 ghost
    就我看到的情況是JSF會根據WEB根目錄找到相應的文件,所以這種mapping只是后綴的重寫而以,我也很想知道在JSF中是否可以將頁面放到/WEB-INF/目錄下而被訪問的方法  回復  更多評論
      
    主站蜘蛛池模板: 免费观看无遮挡www的小视频| 免费国产成人高清在线观看麻豆| 91高清免费国产自产| 亚洲码国产精品高潮在线| 亚洲视频国产精品| 自拍偷自拍亚洲精品播放| 免费观看男人吊女人视频| 国内外成人免费视频| 久久亚洲国产成人精品性色| 国产亚洲精品美女2020久久| 777爽死你无码免费看一二区| 亚洲成av人片不卡无码久久| 亚洲91精品麻豆国产系列在线 | 无码精品A∨在线观看免费| 亚洲日韩涩涩成人午夜私人影院| 亚洲一级高清在线中文字幕| 精品久久8x国产免费观看| 亚洲区视频在线观看| 国产精品免费一区二区三区四区| 国产三级电影免费观看| 亚洲成人免费网址| 成人A片产无码免费视频在线观看| 日本特黄a级高清免费大片| 亚洲精品福利网站| a级男女仿爱免费视频| 国产伦一区二区三区免费| 免费人成视频在线播放| 永久久久免费浮力影院| 亚洲三级在线免费观看| 岛国大片免费在线观看| 一个人免费观看视频在线中文| 日本19禁啪啪无遮挡免费动图| 在线亚洲v日韩v| 亚洲熟妇无码乱子AV电影| 18成禁人视频免费网站| 亚洲AV无码成人精品区天堂| 中文字幕乱码免费看电影| 亚洲AV日韩精品久久久久久久| 日本免费A级毛一片| 亚洲大尺码专区影院| 日产国产精品亚洲系列|