<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年4月>
    2627282930311
    2345678
    9101112131415
    16171819202122
    23242526272829
    30123456

    常用鏈接

    我參與的團隊

    隨筆分類(103)

    搜索

    •  

    積分與排名

    • 積分 - 413988
    • 排名 - 135

    最新評論

    閱讀排行榜

    Myfaces 和 Sun RI 表現出了兩種不同的頁面之間的導航方式,即:
    1. Forwarding
    2. Redirection

    第一種方式并不是很好,問題在于 forwarding 將 request 轉交但是并沒有把新的URL通知給客戶端,這樣就會造成兩種問題:
    1. 這樣看到的 URL 不一定是真實用到的 URL;
    2. 刷新頁面的時候,讀取的是上一個頁面。

    大部分傳統的 Web 應用的公司會首選使用 redirection 方法,但 redirection 效率有些低,因為它使用了兩次 request。

    另外,當在 JSF 中使用 forwarding 技術,程序員大概就需要通過以下方法來傳遞參數:
    1. 作為 f:param tag
    2. 在 request 作用范圍設值

    但這樣還會帶來以下的問題:
    1. 在頁面之間傳遞參數通過以下兩種方式: request 參數、request 作用范圍值。最好采用一種統一的方式來處理這些參數,否則就很難處理從多個不同的地方訪問該頁面的情況。
    2. redirection 的方法并沒有將這些 request 中的值傳遞到下個頁面。

    因此(也是為了解決復雜的動態導航的問題),假定 redirection 是首選的導航方案,我們就需要實現一個自定義導航處理程序,并使其具備以下的能力:
    1. 可以自定義 redirection 到任何一個頁面: 這樣我們就可以直接在 return 中直接寫一個我們想要導航的頁面作為返回值,緊接著,導航處理程序將會直接將頁面轉向到這個頁面,例如:

      function String saveAction()
      {
        ..
        ..
        return "redirect:save_ok.jsp"
      }

    我們在返回時指定了一個前綴 "redirect:" 用以表明我們將要直接轉向一個頁面。這里我們將只能使用相對路徑。

    當動態的 URL 參數傳入時:這樣允許在頁面間傳遞參數即便是用了 redirection 方式。
    例如,為了從一個叫做 view.jsp 的頁面導航到一個 edit.jsp,并傳遞了參數 objectId,我們將可以通過以下方式來配置這樣的規則:

      <navigation-rule>
        <from-view-id>/view.jsp</from-view-id>
        <navigation-case>
          <from-outcome>edit</from-outcome>
          <to-view-id>/view.jsp?objectId=#{view.objectId}</to-view-id>
          <redirect />
        </navigation-case>
      </navigation-rule>

    在 view.jsp 文件中,我們使用這樣的 command link 來導航:   <h:commandLink value="Edit" action="edit" />

    當然這只是一個設想,現在 JSF 還需要做很多事情才能進行正常的開發,這也只有通過慢慢的積累才能夠達到的。

    posted on 2006-04-25 21:24 steady 閱讀(2572) 評論(1)  編輯  收藏 所屬分類: JSF & Myfaces

    FeedBack:
    # re: JSF 自定義導航處理程序 2008-02-02 11:42 ghost
    可以通過自定義NavigationHandler來隨意進行redirect或者forward  回復  更多評論
      
    主站蜘蛛池模板: 日韩精品无码一区二区三区免费| 亚洲精品在线免费看| 亚洲爆乳大丰满无码专区| 性xxxx视频播放免费| 亚洲人成色77777在线观看| 99久久这里只精品国产免费| 国产亚洲玖玖玖在线观看| 最近2019中文免费字幕| 亚洲hairy多毛pics大全| 国产又粗又猛又爽又黄的免费视频 | 亚洲AV无码国产一区二区三区| 大陆一级毛片免费视频观看| 亚洲Av永久无码精品黑人| 免费一级毛片在级播放| 九九久久国产精品免费热6| 亚洲熟妇无码乱子AV电影| 国产99视频精品免费专区| 亚洲精品在线网站| 在线免费观看一区二区三区| 久久亚洲精品11p| 国产亚洲老熟女视频| 91成人免费观看| 亚洲日韩国产一区二区三区在线 | 一区在线免费观看| 亚洲AV中文无码乱人伦下载| 精品女同一区二区三区免费站| 亚洲一卡一卡二新区无人区| 一级毛片直播亚洲| 午夜爽爽爽男女免费观看影院| 亚洲Av无码一区二区二三区| 午夜国产大片免费观看| 日韩免费电影网站| 亚洲精品无码你懂的| 亚洲熟妇无码AV在线播放 | 午夜dj在线观看免费视频| 午夜成人无码福利免费视频| 久久精品亚洲一区二区三区浴池| 天天摸天天操免费播放小视频| 中国内地毛片免费高清| 亚洲一级特黄特黄的大片| 狠狠综合久久综合88亚洲|