<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

    常用鏈接

    我參與的團(tuán)隊(duì)

    隨筆分類(103)

    搜索

    •  

    積分與排名

    • 積分 - 414177
    • 排名 - 135

    最新評論

    閱讀排行榜

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

      答案是肯定的。

      在 JSF 的 Specification 中 7.4 中對 Naviation 已經(jīng)有很明確的規(guī)定了,在 JSF API 中,提供了 NavigationHandler 這樣一個(gè)抽象類。

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

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

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

      試試看,在你的應(yīng)用中,是不是已經(jīng)按照你的 Navigation 在走了呢?

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


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

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

    比如testjsf.jsp,當(dāng)我打http://localhost:8080/XXX/testjsf.jsf自動(dòng)解析testjsf.jspz這個(gè)面頁!
    why?
    jiaj
    2006-6-30  回復(fù)  更多評論
      
    # re: JSF 中使用自定義 Navigation 2008-02-02 11:39 ghost
    就我看到的情況是JSF會(huì)根據(jù)WEB根目錄找到相應(yīng)的文件,所以這種mapping只是后綴的重寫而以,我也很想知道在JSF中是否可以將頁面放到/WEB-INF/目錄下而被訪問的方法  回復(fù)  更多評論
      
    主站蜘蛛池模板: 国产精品亚洲综合天堂夜夜| 人妻仑刮八A级毛片免费看| 手机在线看永久av片免费| 亚洲人成网站18禁止| 久久精品国产精品亚洲下载| 最近中文字幕电影大全免费版| 国产成人精品日本亚洲直接| 一本久久综合亚洲鲁鲁五月天| 手机看片国产免费永久| 亚洲首页国产精品丝袜| 亚洲伊人久久精品影院| 一二三四免费观看在线视频中文版| 羞羞视频在线观看免费| 亚洲色图视频在线观看| 亚洲国产精品视频| 毛片a级毛片免费播放100| 国产人成网在线播放VA免费| 亚洲制服丝袜中文字幕| 亚洲欧洲精品无码AV| 日韩视频在线免费观看| 日韩免费无码视频一区二区三区| mm1313亚洲国产精品无码试看| 亚洲高清在线播放| 亚洲第一区精品日韩在线播放| 亚洲毛片免费视频| 国产无遮挡又黄又爽免费网站| 亚洲最大无码中文字幕| 亚洲国产精品自在线一区二区| 免费在线观看毛片| 在线看片免费不卡人成视频| 亚洲免费人成在线视频观看| 女bbbbxxxx另类亚洲| 精品日韩99亚洲的在线发布| 亚洲av鲁丝一区二区三区| 免费在线观看毛片| 在线观看免费国产视频| 在线a级毛片免费视频| 全部免费毛片在线播放| 两个人www免费高清视频| 色屁屁www影院免费观看视频| 中文字幕乱码亚洲精品一区|