練習 2.4:使用導覽規則

開始之前,您必須先完成練習 2.3:使用檔案上載元件

在設定 new_record.jsp 頁面時,使用者必須非常小心,避免輸入已在使用中的 ID 號碼,因為資料庫中的每筆記錄都必須有唯一 ID 號碼。 請參閱練習 1.4:建立新記錄,以取得詳細資料。 簡言之,您應該防止使用者發生這項錯誤。

在下一個練習(練習 2.5:使用自動產生索引鍵)中,您將使用自動產生索引鍵,避免輸入 ID 號碼。 在這個練習中,您將檢查輸入的 ID 是否唯一,如果不是唯一 ID,便將使用者送往錯誤頁面來說明問題及告訴使用者如何修正問題。

導覽規則可讓您在檢查使用者是否輸入重複的 ID 號碼之後,將使用者導向錯誤頁面或 all_records.jsp 頁面。 您將指派別名給這兩個可能的輸出,再將這兩個別名鏈結至正確的目標頁面。 在這個範例中,create_record.jsp 頁面所發生的錯誤會發出 ERROR_CREATE 別名,將使用者送往錯誤頁面。 如果使用者正確填寫 create_record.jsp 頁面,它會發出 MAIN 別名,這時會照常鏈結至 all_records.jsp 頁面。

設定規則

顯示說明文件
  1. 在「專案導覽器」中,按兩下 new_record.jsp 頁面。
  2. 按一下頁面上的公佈新清單按鈕。
  3. 在「內容」視圖中,按一下新增規則。這時會開啟「新增導覽規則」視窗。

    如果在資料庫中建立和確定新記錄時發生錯誤,第一個規則會將使用者送往名稱為 create_error.jsp 的錯誤頁面。

  4. 頁面欄位中,輸入 /error_create.jsp。這個頁面不存在,但在這個指導教學中,您只要想像它存在就行了。
  5. 按一下輸出名稱為圓鈕。
  6. 輸出名稱為圓鈕之後的文字欄位中,輸入 ERROR_CREATE
  7. 按一下只有這個頁面圓鈕,因為網站中沒有其他頁面可讓使用者輸入重複的 ID 號碼來觸發這個特定錯誤。
  8. 按一下確定

    如果使用者輸入有效的 ID 號碼,下一個規則會導覽至 all_records.jsp。

  9. 按一下新增規則按鈕來重新開啟「新增導覽規則」視窗。
  10. 利用頁面下拉框來選取 all_records.jsp
  11. 按一下輸出名稱為勾選框,在它後面的文字欄位中輸入 MAIN
  12. 由於您可能想在另一頁面(如 update_record.jsp 頁面)中重複使用這個規則,請按一下這項規則適用於下的所有頁面圓鈕。
  13. 按一下確定。這時「內容」視圖會顯示這兩個規則。

從按鈕動作傳回別名

顯示說明文件

現在,只剩下將新的導覽規則放在工作中。 您將新增兩個 return 陳述式到「公佈新清單」按鈕的程式碼中。 這些 return 陳述式會傳回適當的別名,以便將使用者傳送到導覽規則中所設定的適當頁面。

  1. 按一下公佈新清單按鈕。
  2. 開啟快速編輯視圖。
  3. 在「快速編輯」視圖中,尋找 } catch (Throwable e) { 這一行。

    如果使用者輸入重複的 ID 號碼,就會執行這個 catch 函數。

  4. 移除這一行尾端前大括弧 { 和隔幾行的下一後大括弧 } 之間的所有程式碼。 前後大括弧都不可以移除。
  5. 在大括弧之間的程式碼位置中,輸入下列文字:

    return "ERROR_CREATE";

  6. 在程式碼底端,移除在最後一個後大括弧 } 之後的所有程式碼,在這個位置輸入下列文字:

    return "MAIN";

    這個步驟會移除您在練習 1.4 中新增的 gotoPage 動作。 您不再需要這個程式碼,因為導覽規則會執行相同的動作。

    這時您的按鈕程式碼應該看起來如下:

    程式碼範例

  7. 將頁面儲存起來,如果您想要的話,請加以測試。

(選用)您可以建立一個稱為 create_error.jsp 的簡單錯誤頁面來向使用者說明建立使用者的清單時發生錯誤,以及嘗試不同的 ID 值。 之後,您可以嘗試新增使用現有 ID 值(如 1)的新清單來測試這些導覽規則。

現在您已準備好開始進行練習 2.5:使用自動產生索引鍵

讀者意見
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.