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

簡(jiǎn)單的導(dǎo)航 Navigation

系統(tǒng) 1946 0
第一個(gè)JSF程序 中,我們簡(jiǎn)單的定義了頁(yè)面的流程由 index.jsp 到 welcome.jsp,接下來(lái)我們擴(kuò)充程序,讓它可以根據(jù)使用者輸入的名稱與密碼是否正確,決定要顯示歡迎訊息或是將使用者送回原頁(yè)面進(jìn)行重新登入。

  首先我們修改一下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 = 
                  
                    "名稱或密碼錯(cuò)誤"
                  
                  
;
            
                  
                    return
                  
                  
                    "failure"
                  
                  
;
        }
        
                  
                    else
                  
                  
 {
            
                  
                    return
                  
                  
                    "success"
                  
                  
;
        }
    }
 }
                

  在UserBean中,我們?cè)黾恿嗣艽a與錯(cuò)誤訊息屬性,在verify()方法中,我們檢查使用者名稱與密碼,它傳回一個(gè)字符串,"failure"表示登入錯(cuò)誤,并會(huì)設(shè)定錯(cuò)誤訊息,而"success"表示登入正確,這個(gè)傳回的字符串將決定頁(yè)面的流程。

  接下來(lái)我們修改一下 faces-config.xml 中的頁(yè)面流程定義:

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>
                

  根據(jù)上面的定義,當(dāng)傳回的字符串是"success"時(shí),將前往 welcome.jsp,如果是"failure"的話,將送回 index.jsp。

  接下來(lái)告訴網(wǎng)頁(yè)設(shè)計(jì)人員Bean名稱與相關(guān)屬性,以及決定頁(yè)面流程的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>第一個(gè)JSF程序</title>
 </head>
 <body>
    <f:view>
        <h:form>
            <h3>請(qǐng)輸入您的名稱</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>
                

  當(dāng)要根據(jù)verify運(yùn)行結(jié)果來(lái)決定頁(yè)面流程時(shí),action屬性中使用 JSF Expression Language "#{user.verify}",如此JSF就知道必須根據(jù)verify傳回的結(jié)果來(lái)導(dǎo)航頁(yè)面。

  <h:outputText>可以取出指定的Bean之屬性值,當(dāng)使用者因驗(yàn)證錯(cuò)誤而被送回原頁(yè)面時(shí),這個(gè)錯(cuò)誤訊息就可以顯示在頁(yè)面上。

簡(jiǎn)單的導(dǎo)航 Navigation


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

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

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 阿克苏市| 朝阳市| 商洛市| 汉寿县| 普宁市| 塔河县| 英超| 台南市| 迭部县| 社会| 泸水县| 邛崃市| 石屏县| 永平县| 清镇市| 邵武市| 玉树县| 车致| 中山市| 富民县| 怀仁县| 洛扎县| 松阳县| 宁南县| 宽甸| 多伦县| 定远县| 洛阳市| 宜宾县| 绥德县| 武邑县| 屏边| 墨江| 棋牌| 会宁县| 津南区| 旬邑县| 尼玛县| 日照市| 兴城市| 柞水县|