Java-Android-jwebee
          Java-Android-jwebee
          對IT人來說,要成為一個優秀的技術型管理者,除了需要具備扎實的技術基礎之外,還應該培養良好的人際關系能力、談判與溝通技能、客戶關系與咨詢技能、商業頭腦和財務技能以及創新意識,此外還要有巧妙的激勵技巧和化解沖突與解決突發問題的能力.
          在JSF中是根據faces-config.xml中<navigation-rule>設定,以決定在符合的條件成立時,該連結至哪一個頁面,一個基本的設定如下:
           
          ....
          <navigation-rule>
          <from-view-id>/pages/index.jsp</from-view-id>
          <navigation-case>
          <from-outcome>success</from-outcome>
          <to-view-id>/pages/welcome.jsp</to-view-id>
          </navigation-case>
          <navigation-case>
          <from-outcome>failure</from-outcome>
          <to-view-id>/pages/index.jsp</to-view-id>
          </navigation-case>
          </navigation-rule>
          ....

           

          對於JSF,每一個視圖(View)都有一個獨特的識別(identifier),稱之為View ID,在JSF中的View ID是從Web應用程式的環境相對路徑開始計算,設定時都是以/作為開頭,如果您請求時的路徑是/pages/index.faces,則JSF會將副檔名改為/pages/index.jsp,以此作為view-id。

           

          在<navigation-rule>中的<from-view-id>是個選擇性的定義,它規定了來源頁面的條件,<navigation-case>中定義各種導覽條件,<from-outcome>定義當表單結果符合的條件時,各自改導向哪一個目的頁面,目的頁面是在<to-view-id>中定義。

           

          您還可以在<navigation-case>中加入<from-action>,進一步規範表單結果必須根據哪一個動作方法(action method),當中是使用 JSF Expression Language 來設定,例如:
           
          ....
          <navigation-rule>
          <from-view-id>/pages/index.jsp</from-view-id>
          <navigation-case>
          <from-action>#{user.verify}</from-action>
          <from-outcome>success</from-outcome>
          <to-view-id>/pages/welcome.jsp</to-view-id>
          </navigation-case>
          ....
          </navigation-rule>
          ....

           

          在導航時,預設都是使用forward的方式,您可以在<navigation-case>中加入一個<redirect/>,讓JSF發出讓瀏覽器重新導向(redirect)的header,讓瀏覽器主動要求新網頁,例如:
           
          ....
          <navigation-rule>
          <from-view-id>/pages/index.jsp</from-view-id>
          <navigation-case>
          <from-outcome>success</from-outcome>
          <to-view-id>/pages/welcome.jsp</to-view-id>
          <redirect/>
          </navigation-case>
          ....
          </navigation-rule>
          ....

           

          您的來源網頁可能是某個特定模組,例如在/admin/下的頁面,您可以在<from-view-id>中使用wildcards,也就是使用 * 字元,例如:
           
          ....
          <navigation-rule>
          <from-view-id>/admin/*</from-view-id>
          <navigation-case>
          <from-action>#{user.verify}</from-action>
          <from-outcome>success</from-outcome>
          <to-view-id>/pages/welcome.jsp</to-view-id>
          </navigation-case>
          ....
          </navigation-rule>
          ....

           

          在上面的設定中,只要來源網頁是從/admin來的,都可以開始測試接下來的<navigation-case>。

           

          <from-view-id>如果沒有設定,表示來源網頁不作限制,您也可以使用 * 顯式的在定義檔中表明,例如:
           
          ....
          <navigation-rule>
          <from-view-id>/*</from-view-id>
          <navigation-case>
          ....
          </navigation-rule>
          ....

           

          或者是這樣:
           
          ....
          <navigation-rule>
          <from-view-id>*</from-view-id>
          <navigation-case>
          ....
          </navigation-rule>
          ....




          jwebee

          我的個人網站
          posted on 2008-05-22 12:36 周行 閱讀(661) 評論(0)  編輯  收藏 所屬分類: JSF
          Java-Android-jwebee
          主站蜘蛛池模板: 潼南县| 镇坪县| 巴里| 平塘县| 秦安县| 泰宁县| 库尔勒市| 邹城市| 蛟河市| 黄冈市| 聂荣县| 高雄市| 牙克石市| 吉林省| 孟州市| 德庆县| 招远市| 聊城市| 张家港市| 天长市| 祁门县| 桦甸市| 辽宁省| 红桥区| 南华县| 淅川县| 宁国市| 山阳县| 三明市| 祥云县| 乌兰浩特市| 新河县| 邻水| 溧水县| 长寿区| 策勒县| 富源县| 宜兴市| 泗洪县| 赣州市| 进贤县|