配置 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 并将“值”字段更改为一个适合操作的名称(例如,“添加职员),然后按 Enter
  10. 选择 h:commandLink,然后单击“单击以编写此链接执行的操作”旁边的“快速编辑”视图图标。
  11. 在左边的列中,单击命令
  12. 在脚本编辑区域中右键单击并选择插入片段 > 创建子记录。将打开“创建子记录”窗口:
    创建子记录屏幕捕获
  13. 选择适当的记录或记录列表,然后选择表示应更新的表的节点,例如,DEPARTMENT_EMPLOYEE (EMPLOYEE)。
  14. 输入变量名,例如,employee。
  15. 从“变量作用域”列表中选择 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
  16. 返回到“属性”视图的 h:commandLink 选项卡,然后单击添加规则
  17. 添加导航规则以便“链接 - 命令”操作转至另一 JSP,例如,createEmployee.jsp
    注: 有关创建导航规则的信息,请参阅将导航规则与 Faces JSP 页面配合使用
  18. 保存 JSP。
要继续创建多页面 SDO 应用程序,请遵循下列步骤:

反馈