練習 1.4:建立新記錄

開始之前,您必須先完成練習 1.3:測試網站

在這個練習中,您將建立一個頁面,讓使用者建立新的分類廣告以及將它們公佈在資料庫中。 首先,您將建立一個關聯式記錄來代表資料庫中的新記錄,之後,您將在頁面中建立記錄的視覺化來作為一組輸入欄位。

建立關聯式記錄

顯示說明文件
  1. 在「專案瀏覽器」視圖中,按兩下 new_record.jsp 檔來開啟它。
  2. 刪除預設文字將內容放在這裡
  3. 在「選用區」視圖中,按一下資料抽屜來展開它。
  4. 將選用區中的關聯式記錄元件拖曳到空白內容區域中。 這時會開啟「新增關聯式記錄」視窗。

    如果出現警告訊息,指出無法建立資料庫連線,就表示在測試網站之後,伺服器保持執行中。 如果出現這個情況,請按一下每個對話框中的取消,再依照練習 1.3:測試網站中的停止伺服器所說明來停止伺服器。

  5. 名稱欄位中,輸入 create_record
  6. 建立控制項之下,按一下建立新記錄
  7. 確定已選取新增輸入/輸出控制項,以在網頁中顯示記錄

    「新增關聯式記錄」視窗應該看起來如下:

    「新增關聯式記錄」視窗

  8. 下一步
  9. 在「表格」框中,按一下 W5SAMPLE.ADS 表格。
  10. 下一步
  11. 再按下一步。這時會開啟「配置資料控制項」頁面。

自訂關聯式記錄視覺化

顯示說明文件

「配置資料控制項」頁面可協助您自訂關聯式記錄的視覺化。 比方說,您可以變更輸入表單的直欄、欄位標籤和「送出」按鈕。 這些步驟完成之後,頁面中會有一份能夠完整運作的輸入表單。

  1. 要顯示的欄位區段中,除了輸入表單中所需要者之外,取消選取每個欄位名稱旁的勾選框:
  2. 依照下列次序,由上而下重新排列這些欄位:
    1. ID
    2. TITLE
    3. DESCRIPTION
    4. MAINCATEGORY
    5. PRICE
    6. PHONE
    如果要變更欄位次序,請按一下欄位名稱,再按一下上移下移鍵。
  3. 依照您的需要來重新命名標籤。比方說,您可以將「主要種類:」標籤縮短成「種類:」。

    如果要重新命名為了輸入欄位而產生的標籤,請按一下標籤直欄中的標籤。 這時滑鼠圖示會變成游標,您可以輸入新文字。

  4. 按一下選項。這時會開啟選項視窗。
  5. 確定已選取「送出」按鈕選項。
  6. 標籤欄位中,輸入公佈新清單
  7. 按一下確定

    現在,「新增關聯式記錄」視窗應該看起來如下:

    「新增關聯式記錄清單」視窗

  8. 按一下完成來產生輸入表單。它應該看起來如下:

    現行頁面外觀

    這份表單有一個「錯誤訊息」欄位。 這不表示專案有錯誤;這個欄位標示使用者送出表單而發生錯誤時,用來顯示錯誤的位置。

設計「送出」按鈕

顯示說明文件

當送出您的輸入表單時,頁面會將新記錄自動加到資料庫中。 您可以將「公佈新清單」按鈕設計成會返回 all_records.jsp 頁面,以便立即檢視資料庫中的新記錄。如果要這麼做,請遵循下列步驟:

  1. 在 new_record.jsp 檔中,按一下您在網頁表單中建立的公佈新清單按鈕。
  2. 開啟「快速編輯」視圖。

    「快速編輯」視圖通常會出現在工作台的中下方,在「內容」視圖旁的標籤中。 如果您找不到「快速編輯」視圖,請移至功能表列,按一下視窗 > 顯示視圖 > 快速編輯

    「快速編輯」視圖是一個上下文相關的 Java 編輯器,可協助您編寫 Faces 元件的事件。 現在,「快速編輯」視圖包含用來處理資料庫中之新記錄的產生的程式碼,如下所示:

    程式碼範例

  3. 在「快速編輯」視圖中按一下,將游標直接放在 return ""; 程式碼前面。
  4. Enter。這時會在 return ""; 前面出現新行。
  5. 用滑鼠右鍵按一下新的空行,從快速功能表中選取插入片段 > 移至頁面。 這時會開啟「編輯 GotoPage 動作」視窗。
  6. 從下拉清單中,選取 all_records.jsp 作為目標頁面。
  7. 按一下確定
  8. 您的按鈕的事件碼應該看起來如下:

    程式碼範例

  9. 將檔案儲存起來,如果您想要的話,請在測試伺服器中執行頁面。 當在測試伺服器中執行頁面時,您可以新增新記錄,再返回 all_records.jsp 頁面來檢視它們。

防止索引鍵重複

由於 ID 直欄是 ADS 表格中的主鍵,因此,您不能新增表格中已有 ID 值的記錄。在模組 2 中,您將知道如何使用自動產生索引鍵為每筆新記錄自動建立新的未用索引鍵。

到時候,您必須在這個頁面中輸入未用的 ID 號碼來新增新的記錄。資料庫所檢附的記錄使用 1 至 22 的 ID 號碼,因此,您可以輸入 22 以上的任何號碼作為主鍵。 如果您輸入多筆記錄,請確定沒有重複的索引鍵。

將輸入連結至關聯式記錄(選用)

顯示說明文件

頁面中的輸入表單是一組已連結至您建立的關聯式記錄的 JavaServer Faces 輸入欄位。 請回想一下,您先前建立了關聯式記錄來代表資料庫 ADS 表格中的新記錄。連結是可用來將 JavaServer Faces 輸入元件鏈結至關聯式記錄直欄的方法。

當您建立關聯式記錄時,精靈會自動將它的所有直欄連結至頁面中的輸入欄位。 如果您要手動變更,您可以將其他直欄連結至其他輸入欄位。 如果要將關聯式記錄中的直欄連結至輸入欄位,請從「頁面資料」視圖將直欄拖曳至欄位中。 您可以在表單中刪除再重建說明輸入欄位來嘗試這個程序。進一步學習「頁面資料」視圖

下列步驟用來說明輸入欄位的概念以及連結程序;不過,這個指導教學中的這些步驟是選用的。 如果您不要這麼做,請移至練習 1.5:建立更新頁面

  1. 在 new_record.jsp 檔中,按一下說明輸入欄位。
  2. Delete 鍵。
  3. 在「選用區」視圖中,按一下 Faces 元件抽屜來展開它。
  4. 從選用區中,將輸入元件拖曳至您剛刪除的說明輸入欄位所在的資料格中。

    這個資料格中現在有一個輸入欄位,但其中沒有 {ID} 或 {TITLE} 之類的文字,因為這個輸入欄位沒有連結至任何直欄。

  5. 在「頁面資料」視圖中,將 DESCRIPTION 直欄拖曳至您剛建立的輸入元件。 這時會變更輸入元件內的文字來指示它現在已連結至 DESCRIPTION 直欄,如下圖所示:

    將直欄連結至輸入欄位

  6. 將檔案儲存起來,如果您想要的話,請在測試伺服器中執行頁面。

現在,您可以建立和修改您自己的 JavaServer Faces 輸入表單。現在您已準備好開始進行練習 1.5:建立更新頁面

使用條款 | 讀者意見
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.