免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Apusic OperaMasks學習 14.2. 兩種導航方式
 14.2. 兩種導航方式
 
14.2.1. 靜態(tài)導航

在簡單web應用程序中,網(wǎng)頁導航是靜態(tài)的。也就是說,一個導航動作總是跳轉(zhuǎn)到固定的目的頁面。要實現(xiàn)靜態(tài)導航,在編寫頁面時只需要在動作構件(例如命令按鈕)的action屬性中指定導航的來源標識字符串,<h:commandButton label="login" action="login"/>。并且,如上文所述,我們需要在導航規(guī)則里配置一個outcome,告訴JSF引擎導航的目的地。導航規(guī)則在配置文件WEB-INF/faces-config.xml中的配置為:

<navigation-rule> 
     <from-view-id>/login.xhtml</from-view-id> 來源網(wǎng)址
     <navigation-case> 
          <from-outcome>login</from-outcome> 來源構件
          <to-view-id>/welcome.xhtml</to-view-id>目的網(wǎng)址
     </navigation-case>
</navigation-rule> 

那么,用戶進入login.xhtml后,點擊命令按鈕,導航管理器將根據(jù)導航規(guī)則,執(zhí)行頁面跳轉(zhuǎn)到welcome.xhtml中去。

如果有好多頁面點擊命令按鈕后要跳轉(zhuǎn)到同一頁面,可以仔細挑選動作字符串,將多個導航規(guī)則組合在一起。例如,可以配置整個應用程序頁面中action輸出為logout的按鈕,點擊后,跳轉(zhuǎn)到logout.xhtml頁面。

<navigation-rule> 
      <navigation-case> 
         <from-outcome>logout</from-outcome> 
         <to-view-id>/logout.xhtml</to-view-id> 
      </navigation-case> 
</navigation-rule> 

沒有指定from-view-id元素,上面的導航規(guī)則適合于所有頁面

1.1.2    14.2.2. 動態(tài)導航

靜態(tài)導航中,action對應的是固定字符串。但在多數(shù)web應用程序中,導航不是靜態(tài)的,而是需要根據(jù)一定邏輯動態(tài)決定采用哪種導航規(guī)則。為此,OperaMasks中提供了動態(tài)導航特性。動態(tài)導航與靜態(tài)導航最大的區(qū)別action是通過EL表達式指定的方法。頁面的跳轉(zhuǎn)所采用的導航規(guī)則依賴于用戶對action方法的具體實現(xiàn)。

動態(tài)導航的action對應的是一個方法引用(method reference)。例如:

< h:commandButton label="test_dynamic" action="#{backBean.login}" />

要實現(xiàn)動態(tài)導航,action屬性中的方法要有返回值。導航控制器根據(jù)返回值的結果進行導航規(guī)則的匹配,進而實現(xiàn)頁面的跳轉(zhuǎn)。方法的返回值可以是任何類型,使用枚舉類型是一個有用的選擇,因為編譯器能夠在動作名稱中捕獲方法的返回值的類型。例如:在常見的用戶登錄界面中要核對用戶是否合法,根據(jù)核對的結果跳轉(zhuǎn)到不同的頁面,就要用動態(tài)導航來處理。其中action的方法引用的寫法可以如下:

public String login(){
   if(username.equals(name)){ 
       return "sucess"; 
    }
  else{ 
    return "failure";
    }
}

導航規(guī)則配置文件faces-config.xml的寫法和上面的靜態(tài)導航配置一樣(這里的配置可以被靜態(tài)導航和動態(tài)導航同時使用)。

動態(tài)導航的處理過程是:
 
·     執(zhí)行EL表達式引用的方法
 
·     方法的結果被傳遞到導航處理程序中

導航處理程序跳轉(zhuǎn)到下一個頁面
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
CAS自定義客戶端登錄界面
JSP和Struts正確解決用戶退出問題
使用iframe框架后的頁面跳轉(zhuǎn)時目標頁面變?yōu)閕frame的子頁面的問題
!!! TogetherJs
正確優(yōu)雅的解決用戶退出問題——jsp和struts解決方案
springboot應用
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服