這項作業是示範如何建立多頁 SDO 應用程式的四項作業中的第二項。在這項作業中,請您建立一個配置主要頁面,以使用多用途 SDO 和詳細資料頁面。這裡假設您已完成下列工作:
- 從「頁面資料」視圖,將關聯式記錄拖放到您要作為主要頁面使用的 JSP。如果您使用 DB2 V8.2 SAMPLE 資料庫,並已完成先前的作業,開啟 updateDepartment.jsp。
- 選取更新現有的記錄,再按完成,以在主要頁面產生表單。
- 儲存 JSP。
- 用滑鼠右鍵按一下 JSP,然後選取編輯頁面程式碼。
依預設,會顯示 Java 檔,其中包含 JSP 的伺服器程式碼。如果您使用 DB2 V8.2 SAMPLE 資料庫,並已完成先前的作業,驗證 getDepartment() 及 getDepartmentMediator() 方法已經建立。
- 利用可更新適當資料庫表格的程式碼,修改 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;
}
- 儲存並關閉 Java 檔。
- 在主要頁面,例如 updateDepartment.jsp,將指令 - 超鏈結拖放到「刪除」按鈕旁邊。
- 按一下鏈結標籤。
- 在「內容」視圖中,按一下 h:commandLink 下方的 h:outputText,將「值」欄位變更為動作的適當名稱,例如「新增員工」,再按輸入。
- 選取 h:commandLink,再按「按一下來撰寫這個鏈結執行動作的程式碼」旁邊的「快速編輯」視圖圖示。
- 在左邊的直欄,按一下指令。
- 在 Script 編輯區中用滑鼠右鍵按一下,然後選取。
這時會開啟「建立子記錄」視窗:

- 選取適當的記錄或記錄清單,再選取代表所要更新表格的節點,例如,DEPARTMENT_EMPLOYEE (EMPLOYEE)。
- 輸入變數名稱,例如 employee。
- 從「變數範圍」清單中選取階段作業,再按一下確定。如果您使用 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
- 回到「內容」視圖的 h:commandLink 標籤,再按一下新增規則。
- 新增導覽規則,使得「指令 - 超鏈結」動作前往另一個 JSP,例如 createEmployee.jsp。
- 儲存 JSP。