日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

簡單的導航 Navigation

系統 1926 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條評論
主站蜘蛛池模板: 阿克陶县| 永嘉县| 高邑县| 卓资县| 达州市| 长治县| 山东| 阳泉市| 皮山县| 万源市| 鱼台县| 郯城县| 清徐县| 壤塘县| 枣强县| 绥阳县| 如东县| 遵义市| 永清县| 南城县| 富源县| 张家川| 天长市| 岳池县| 丁青县| 彩票| 枣强县| 泰顺县| 同江市| 霞浦县| 余江县| 菏泽市| 甘南县| 万荣县| 格尔木市| 九龙县| 三门峡市| 福州市| 伊宁市| 安陆市| 长春市|