国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

JSF 中使用自定義 Navigation

2019-11-18 13:06:27
字體:
供稿:網(wǎng)友

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

  答案是肯定的。

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

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

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

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

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

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

http://www.blogjava.net/Files/steady/navigation.rar

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 革吉县| 大厂| 南溪县| 隆尧县| 邹城市| 余江县| 麦盖提县| 布拖县| 亳州市| 商都县| 义乌市| 钟祥市| 桂东县| 古丈县| 杭锦后旗| 灌云县| 黎城县| 寻甸| 招远市| 通辽市| 旺苍县| 五家渠市| 枝江市| 昌宁县| 岚皋县| 天峻县| 吕梁市| 西安市| 昆明市| 思南县| 辉南县| 高阳县| 库车县| 五寨县| 九龙坡区| 开阳县| 惠东县| 武乡县| 崇礼县| 韶山市| 谢通门县|