將 Faces 主要頁面配置為搭配 SDO 使用

這項作業是示範如何建立多頁 SDO 應用程式的四項作業中的第二項。在這項作業中,請您建立一個配置主要頁面,以使用多用途 SDO 和詳細資料頁面。這裡假設您已完成下列工作:

  1. 從「頁面資料」視圖,將關聯式記錄拖放到您要作為主要頁面使用的 JSP。如果您使用 DB2 V8.2 SAMPLE 資料庫,並已完成先前的作業,開啟 updateDepartment.jsp
  2. 選取更新現有的記錄,再按完成,以在主要頁面產生表單。
  3. 儲存 JSP。
  4. 用滑鼠右鍵按一下 JSP,然後選取編輯頁面程式碼。 依預設,會顯示 Java 檔,其中包含 JSP 的伺服器程式碼。如果您使用 DB2 V8.2 SAMPLE 資料庫,並已完成先前的作業,驗證 getDepartment()getDepartmentMediator() 方法已經建立。
  5. 利用可更新適當資料庫表格的程式碼,修改 get<SDO-Name>() 方法。例如,您可將 getDepartment() 方法取代為下列項目:
    public DataObject getDepartment() {
    if (department == null) {
    if(!getSessionScope().containsKey("department")){ 
    doDepartmentFetchAction();
    getSessionScope().put("department", department);
    } else 
    department = (DataObject) getSessionScope().get("department"); 
    }
    return department;
    }
  6. 儲存並關閉 Java 檔。
  7. 在主要頁面,例如 updateDepartment.jsp,將指令 - 超鏈結拖放到「刪除」按鈕旁邊。
  8. 按一下鏈結標籤
  9. 在「內容」視圖中,按一下 h:commandLink 下方的 h:outputText,將「值」欄位變更為動作的適當名稱,例如「新增員工」,再按輸入
  10. 選取 h:commandLink,再按「按一下來撰寫這個鏈結執行動作的程式碼」旁邊的「快速編輯」視圖圖示。
  11. 在左邊的直欄,按一下指令
  12. 在 Script 編輯區中用滑鼠右鍵按一下,然後選取插入片段 > 建立子記錄。 這時會開啟「建立子記錄」視窗:
    建立子記錄擷取畫面
  13. 選取適當的記錄或記錄清單,再選取代表所要更新表格的節點,例如,DEPARTMENT_EMPLOYEE (EMPLOYEE)。
  14. 輸入變數名稱,例如 employee。
  15. 從「變數範圍」清單中選取階段作業,再按一下確定。如果您使用 DB2 V8.2 SAMPLE 資料庫,驗證以下程式碼已新增至「快速編輯」視圖:
    //actionBegin: wdo.createsub.record
    DataObject employeeListParent = getRootDataObject(getDepartment()).getDataObject("DEPARTMENT[1]");
    DataObject employeeList = getRootDataObject(getDepartment()).createDataObject(" EMPLOYEE");
    employeeListParent.getList("DEPARTMENT_EMPLOYEE").add(employeeList);
    getSessionScope().put("employeeList", employeeList);
    //actionEnd: wdo.createsub.record
  16. 回到「內容」視圖的 h:commandLink 標籤,再按一下新增規則
  17. 新增導覽規則,使得「指令 - 超鏈結」動作前往另一個 JSP,例如 createEmployee.jsp
    註: 如需建立導覽規則的相關資訊, 請參閱將導覽規則搭配 Faces JSP 頁面使用
  18. 儲存 JSP。
若要繼續建立多頁 SDO 應用程式,請遵循下列步驟:
相關概念
建立含有 Faces JSP 的多頁 SDO 應用程式
使用 SDO 的 Faces 與 Faces Client 元件的資料存取
服務資料物件 (SDO) 中的調解者
相關參考
WDO API 文件
讀者意見
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.