< 上一個課程 | 下一個課程 >

第 2.3 課:使用導覽規則

在這一課,您將瞭解如何設定導覽規則,將站台使用者重新導向特定的網頁。

在設定 new_record.jsp 頁面時,使用者必須非常小心,避免輸入已在使用中的 ID 號碼,因為資料庫中的每筆記錄都必須有唯一 ID 號碼。 如需詳細資訊,請參閱第 1.5 課:設計「送出」按鈕中的"防止索引鍵重複"。 在這一課,您將檢查輸入的 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 號碼來觸發這個特定錯誤。按一下確定 如果使用者輸入有效的 ID 號碼,下一個規則會導覽至 all_records.jsp。
  8. 按一下新增規則按鈕來重新開啟「新增導覽規則」視窗。
  9. 利用頁面下拉框來選取 all_records.jsp
  10. 按一下輸出名稱為勾選框,在它後面的文字欄位中輸入 MAIN
  11. 由於您可能想在另一頁面(如 update_record.jsp 頁面)中重複使用這個規則,請按一下這項規則適用於下的所有頁面圓鈕。按一下確定。這時「內容」視圖會顯示這兩個規則。

從按鈕動作傳回別名

現在,只剩下將新的導覽規則放在工作中。 您將新增兩個 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.3 課。在這一課,您已學到如何利用導覽規則, 當使用者試圖輸入無效的 ID 值時產生錯誤,或當使用者輸入有效的 ID 時,將使用者導向 all_recordlist.jsp。

< 上一個課程 | 下一個課程 >