Java-Android-jwebee
          Java-Android-jwebee
          對IT人來說,要成為一個優秀的技術型管理者,除了需要具備扎實的技術基礎之外,還應該培養良好的人際關系能力、談判與溝通技能、客戶關系與咨詢技能、商業頭腦和財務技能以及創新意識,此外還要有巧妙的激勵技巧和化解沖突與解決突發問題的能力.
          第一個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之屬性值,當使用者因驗證錯誤而被送回原頁面時,這個錯誤訊息就可以顯示在頁面上。


          jwebee

          我的個人網站
          posted on 2008-05-22 12:35 周行 閱讀(569) 評論(0)  編輯  收藏 所屬分類: JSF
          Java-Android-jwebee
          主站蜘蛛池模板: 遵义市| 十堰市| 景谷| 项城市| 北辰区| 余江县| 渑池县| 奉节县| 监利县| 黄浦区| 二手房| 潞西市| 德格县| 文登市| 长春市| 崇仁县| 正镶白旗| 锡林浩特市| 衡南县| 五河县| 新龙县| 东台市| 米林县| 富阳市| 阳新县| 平舆县| 贡嘎县| 渭源县| 武强县| 泰来县| 日照市| 揭西县| 贡觉县| 六盘水市| 黔东| 定边县| 柳州市| 榆树市| 邢台县| 拉孜县| 颍上县|