此任务是演示如何创建多页面 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 并将“值”字段更改为一个适合操作的名称(例如,“添加职员),然后按 Enter。
- 选择 h:commandLink,然后单击“单击以编写此链接执行的操作”旁边的“快速编辑”视图图标。
- 在左边的列中,单击命令。
- 在脚本编辑区域中右键单击并选择。将打开“创建子记录”窗口:
- 选择适当的记录或记录列表,然后选择表示应更新的表的节点,例如,DEPARTMENT_EMPLOYEE (EMPLOYEE)。
- 输入变量名,例如,employee。
- 从“变量作用域”列表中选择 Session,然后单击确定。如果使用的是 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。