“命令栏”组件

使用“命令栏”组件来将操作按钮集成到应用程序中。此组件为操作在用户界面中创建按钮并处理单击按钮时创建的事件。

这些按钮触发的功能对 com.ibm.bpe.jsf.handler.ItemProvider 接口返回的对象(例如 BPCListHandler 类或 BPCDetailsHandler 类)执行操作。“命令栏”组件使用 bpe:commandbar 标记中 model 属性值定义的项提供者。

命令的处理方式

当单击应用程序用户界面上命令栏部分中的按钮时,“命令栏”组件将按以下方式处理相关联的事件。
  1. “命令栏”组件识别对生成该事件的按钮指定的 com.ibm.bpc.clientcore.Command 接口实现。
  2. 如果与“命令栏”组件相关联的模型实现了 com.ibm.bpe.jsf.handler.ErrorHandler 接口,则调用 clearErrorMap 方法以从先前事件中除去错误消息。
  3. 调用 ItemProvider 接口的 getSelectedItems 方法。把返回的项列表传递给该命令的 execute 方法并调用该命令。
  4. “命令栏”组件确定 JavaServer Faces(JSF)导航目标。如果在 bpe:commandbar 标记中未指定 action 属性,则 execute 方法的返回值会指定导航目标。如果 action 属性设置为 JSF 方法绑定,则将该方法返回的字符串解释为导航目标。action 属性也可以指定显式的导航目标。

错误处理

命令只有在下列其中一个条件成立时才会被触发:
  • 未抛出异常
  • 抛出了 ErrorsInCommandException 异常
可以通过多种方法来在“命令栏”组件中实现错误处理功能:
  • 您可以决定不使用“命令栏”组件的任何功能。例如,如果要在特定于所选命令的页面上显示错误,则该命令的实现可以捕获所发生的异常并将它们传播到用作错误页面的页面 Bean。通过使用 bpe:commandbar 标记的 context 属性,可以使该页面 Bean 对该命令实现可用。在对该页面 Bean 设置异常后,该命令将返回对错误页面定义的 JSF 导航规则字符串。
  • 如果要将错误消息显示在用户界面中命令栏部分下方,请创建实现了 com.ibm.bpc.clientcore.exception.CommandBarMessage 标记接口的异常类。此接口提供了错误消息的消息目录。
  • 如果该命令对项列表执行操作,您可能想对该列表中的每个项跟踪该命令是否成功。要跟踪错误,请将每个异常映射到操作失败的项。“命令栏”组件可以将一个映射传递给对该“命令栏”组件定义的模型对象,该映射包含标识(作为键)和异常(作为值)。

    要使此机制生效,模型对象必须实现 com.ibm.bpe.jsf.handler.ErrorHandler 接口,并且该命令必须抛出 com.ibm.bpc.clientcore.exception.ErrorsInCommandException 异常。然后,“命令栏”组件将该异常中包含的映射传递给错误处理程序。尽管会发生错误,但还是会触发 action 方法,并且将刷新当前视图。业务流程编排器资源管理器应用程序使用此方法来在列表中显示异常。

  • 如果抛出未实现 CommandBarMessage 接口的 ClientException 异常,并且该异常不是 ErrorsInCommandException,“命令栏”组件就会将该异常传播到应用程序配置文件中定义的 BPCError 错误 Bean。错误处理将转到错误页面继续进行。

使用条款 |


(c) Copyright IBM Corporation 2005, 2006.
本信息中心基于 Eclipse 技术(http://www.eclipse.org)。