<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

    常用鏈接

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

    隨筆分類(103)

    搜索

    •  

    積分與排名

    • 積分 - 414075
    • 排名 - 135

    最新評(píng)論

    閱讀排行榜

    Myfaces 和 Sun RI 表現(xiàn)出了兩種不同的頁面之間的導(dǎo)航方式,即:
    1. Forwarding
    2. Redirection

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

    大部分傳統(tǒng)的 Web 應(yīng)用的公司會(huì)首選使用 redirection 方法,但 redirection 效率有些低,因?yàn)樗褂昧藘纱?request。

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

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

    因此(也是為了解決復(fù)雜的動(dòng)態(tài)導(dǎo)航的問題),假定 redirection 是首選的導(dǎo)航方案,我們就需要實(shí)現(xiàn)一個(gè)自定義導(dǎo)航處理程序,并使其具備以下的能力:
    1. 可以自定義 redirection 到任何一個(gè)頁面: 這樣我們就可以直接在 return 中直接寫一個(gè)我們想要導(dǎo)航的頁面作為返回值,緊接著,導(dǎo)航處理程序?qū)?huì)直接將頁面轉(zhuǎn)向到這個(gè)頁面,例如:

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

    我們?cè)诜祷貢r(shí)指定了一個(gè)前綴 "redirect:" 用以表明我們將要直接轉(zhuǎn)向一個(gè)頁面。這里我們將只能使用相對(duì)路徑。

    當(dāng)動(dòng)態(tài)的 URL 參數(shù)傳入時(shí):這樣允許在頁面間傳遞參數(shù)即便是用了 redirection 方式。
    例如,為了從一個(gè)叫做 view.jsp 的頁面導(dǎo)航到一個(gè) edit.jsp,并傳遞了參數(shù) objectId,我們將可以通過以下方式來配置這樣的規(guī)則:

      <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 來導(dǎo)航:   <h:commandLink value="Edit" action="edit" />

    當(dāng)然這只是一個(gè)設(shè)想,現(xiàn)在 JSF 還需要做很多事情才能進(jìn)行正常的開發(fā),這也只有通過慢慢的積累才能夠達(dá)到的。

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

    FeedBack:
    # re: JSF 自定義導(dǎo)航處理程序 2008-02-02 11:42 ghost
    可以通過自定義NavigationHandler來隨意進(jìn)行redirect或者forward  回復(fù)  更多評(píng)論
      
    主站蜘蛛池模板: 成人免费黄色网址| 国产伦精品一区二区三区免费迷| 亚洲精品美女久久久久| 免费观看的毛片手机视频| 九九免费久久这里有精品23| 亚洲一区二区影院| 精品国产免费观看久久久| 中文字幕免费在线看| 亚洲乱码在线播放| 亚洲国产精品第一区二区三区| 日本中文字幕免费高清视频| 亚洲色大成网站www永久网站| 亚洲综合网站色欲色欲| 成人免费观看一区二区| 国产精品综合专区中文字幕免费播放 | 高清国语自产拍免费视频国产| 国产精品免费αv视频| 亚洲视频无码高清在线| 亚洲中文字幕日产乱码高清app| 亚欧在线精品免费观看一区| 五月天婷婷精品免费视频| 亚洲欧洲日产专区| 不卡精品国产_亚洲人成在线| 男男AV纯肉无码免费播放无码| 岛国精品一区免费视频在线观看| 亚洲kkk4444在线观看| 久久久久久亚洲精品| 免费a级毛片视频| 在线观看特色大片免费视频| 两个人看的www免费视频中文| 亚洲精品无码久久久久APP| 亚洲精品日韩专区silk| 国产AV无码专区亚洲AV漫画 | 国产成人免费A在线视频| **一级毛片免费完整视| 好湿好大好紧好爽免费视频| 亚洲AV永久无码天堂影院| 亚洲精品中文字幕麻豆| 亚洲AV无码成人精品区天堂| 亚洲一区日韩高清中文字幕亚洲 | 亚洲免费观看视频|