使用数据表传递参数

通过数据表,可以使用数据表行操作将参数从一个 Faces JSP 页面传递至另一个 Faces JSP 页面,例如,对在数据表中选择的记录返回详细的数据页。为此,可以配置数据行操作控件来将参数从数据表页传递至记录详细信息页。
注: 还可以使用与数据表列绑定的“链接 - 命令”或“链接 - 请求”组件来传递参数。
要使用数据表行操作传递参数:
  1. 将行操作控件添加至数据表。
    1. 在数据表的“属性”视图中,单击数据表 h:dataTable 下面的列表中的行操作 可用的操作设置就显示在右边:

      在“属性”视图中添加行操作

    2. 单击“添加单击行时执行的操作”旁边的添加 就会将包含行操作控件的新列添加至数据表。将选择该列的行操作控件,并且在“属性”视图中可以看到它的属性:

      “属性”视图中的行操作

  2. (可选)设置导航规则以标识操作可以导航至的页面,请参阅将导航规则与 Faces JSP 页面配合使用
  3. 对行操作添加参数。
    1. 在“属性”视图中,单击列表中行操作控件、hx:commandExRowActionhx:requestRowAction 下的参数
    2. 单击“值”列旁边的添加参数
    3. 单击名称字段并输入新参数的名称。它可以与数据表的一列相对应,例如,customerID。
  4. 可以对新参数给定值或将它绑定至数据对象中的字段。在此示例中,将该参数绑定至数据字段。
    1. 单击新参数的字段,然后单击“选择页数据”按钮 “选择页数据”按钮 将打开“选择页数据对象”页。
    2. 要绑定参数,请在绑定数据表的那个关系记录列表中选择关系记录,然后单击确定。例如,如果有一个 customers SDO,则可以选择 customerID 关系记录。

  5. 使用“快速编辑”视图,为行操作控件 hx:commandExRowActionhx:requestRowAction 编写定制操作。
    1. 在“属性”视图中,单击行操作控件。
    2. 单击行操作标识旁边的“快速编辑”视图按钮 “快速编辑”视图按钮 这就打开了“快速编辑”视图。

    3. 单击该视图的右窗格以输入定义新操作的代码。
    4. 将参数从行操作添加至请求限定作用域,以便要浏览至的页面可以使用此参数。例如,在 customers SDO 中(其中,customerID 是参数的名称,而 req_customerID 是正在设置的请求作用域变量),在 return""; 的前面输入下面一行:
      getRequestScope().put("req_customerID", getRowAction2().getRowParameters().get("customerID"));
      注: 通过使用内容辅助,可以验证是否正在使用正确的方法名。例如,如果输入 getReq,将打开一个显示方法名列表的对话框,您可以从中选择 getRequestScope()。您可以使用的方法名取决于页面上的对象。如果页面上有多个行操作,通过使用内容辅助您可以看到所有的行操作,而不必从内存重新调用准确的标识。
  6. (可选)通过右键单击“项目资源管理器”视图中的页面并选择运行 > 在服务器上运行以便在测试服务器上运行该页面。
创建行操作后,变量(例如示例中的 req_customerID)可作为此行操作所浏览的页面的请求参数。可用各种方法使用此值,例如,用作关系记录的过滤条件或显示在 JSP 输出组件中。
相关概念
在 Faces 应用程序中使用数据
相关任务
添加并配置数据表
将页眉和页脚添加至数据表
管理数据表中的列
将分页添加至数据表
将行操作与数据表相关联
对数据表启用行选择
将行编辑添加至数据表
将行类别支持添加至数据表

反馈