黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

簡單的導航 Navigation

系統 2075 0
第一個JSF程序 中,我們簡單的定義了頁面的流程由 index.jsp 到 welcome.jsp,接下來我們擴充程序,讓它可以根據使用者輸入的名稱與密碼是否正確,決定要顯示歡迎訊息或是將使用者送回原頁面進行重新登入。

  首先我們修改一下UserBean:

UserBean.java
                  
                    package
                  
                  
 onlyfun.caterpillar;

 
                  
                    public
                  
                  
 class UserBean {
    
                  
                    private
                  
                  
                    String
                  
                  
 name;
    
                  
                    private
                  
                  
                    String
                  
                  
 password;
    
                  
                    private
                  
                  
                    String
                  
                  
 errMessage;

    
                  
                    public
                  
                  
 void setName(
                  
                    String
                  
                  
 name) {
        
                  
                    this
                  
                  
.name = name;
    }

    
                  
                    public
                  
                  
                    String
                  
                  
 getName() {
        
                  
                    return
                  
                  
 name;
    }

    
                  
                    public
                  
                  
 void setPassword(
                  
                    String
                  
                  
 password) {
        
                  
                    this
                  
                  
.password = password;
    }

    
                  
                    public
                  
                  
                    String
                  
                  
 getPassword() {
        
                  
                    return
                  
                  
 password;
    }

    
                  
                    public
                  
                  
 void setErrMessage(
                  
                    String
                  
                  
 errMessage) {
        
                  
                    this
                  
                  
.errMessage = errMessage;
    }

    
                  
                    public
                  
                  
                    String
                  
                  
 getErrMessage() {
        
                  
                    return
                  
                  
 errMessage;
    }

    
                  
                    public
                  
                  
                    String
                  
                  
 verify() {
        
                  
                    if
                  
                  
(!name.equals(
                  
                    "justin"
                  
                  
) ||
           !password.equals(
                  
                    "123456"
                  
                  
)) {
            errMessage = 
                  
                    "名稱或密碼錯誤"
                  
                  
;
            
                  
                    return
                  
                  
                    "failure"
                  
                  
;
        }
        
                  
                    else
                  
                  
 {
            
                  
                    return
                  
                  
                    "success"
                  
                  
;
        }
    }
 }
                

  在UserBean中,我們增加了密碼與錯誤訊息屬性,在verify()方法中,我們檢查使用者名稱與密碼,它傳回一個字符串,"failure"表示登入錯誤,并會設定錯誤訊息,而"success"表示登入正確,這個傳回的字符串將決定頁面的流程。

  接下來我們修改一下 faces-config.xml 中的頁面流程定義:

faces-config.xml
                  <?xml version=
                  
                    "1.0"
                  
                  
?>
 <!DOCTYPE faces-config PUBLIC
 
                  
                    "-
                    
                      //Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
                    
                  
                  
                    "http:
                    
                      //java.sun.com/dtd/web-facesconfig_1_0.dtd"
                    
                    
>

                  
                  

 <faces-config>
    <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>

    <managed-bean>
        <managed-bean-name>user</managed-bean-name>
        <managed-bean-class>
            onlyfun.caterpillar.UserBean
        </managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>
 </faces-config>
                

  根據上面的定義,當傳回的字符串是"success"時,將前往 welcome.jsp,如果是"failure"的話,將送回 index.jsp。

  接下來告訴網頁設計人員Bean名稱與相關屬性,以及決定頁面流程的verify名稱,我們修改 index.jsp 如下:

index.jsp
                  <%@ taglib uri=
                  
                    "http:
                    
                      //java.sun.com/jsf/core"
                    
                    
 prefix="f" %>

                  
                  
 <%@ taglib uri=
                  
                    "http:
                    
                      //java.sun.com/jsf/html"
                    
                    
 prefix="h" %>

                  
                  
 <%@page contentType=
                  
                    "text/html;charset=Big5"
                  
                  
%>
 <html>
 <head>
 <title>第一個JSF程序</title>
 </head>
 <body>
    <f:view>
        <h:form>
            <h3>請輸入您的名稱</h3>
            <h:outputText value=
                  
                    "#{user.errMessage}"
                  
                  
/><p>
           名稱: <h:inputText value=
                  
                    "#{user.name}"
                  
                  
/><p>
           密碼: <h:inputSecret value=
                  
                    "#{user.password}"
                  
                  
/><p>
            <h:commandButton value=
                  
                    "送出"
                  
                  

                             action=
                  
                    "#{user.verify}"
                  
                  
/>
        </h:form>
    </f:view>
 </body>
 </html>
                

  當要根據verify運行結果來決定頁面流程時,action屬性中使用 JSF Expression Language "#{user.verify}",如此JSF就知道必須根據verify傳回的結果來導航頁面。

  <h:outputText>可以取出指定的Bean之屬性值,當使用者因驗證錯誤而被送回原頁面時,這個錯誤訊息就可以顯示在頁面上。

簡單的導航 Navigation


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論