Befehlsleistenkomponente

Mit der Befehlsleistenkomponente können Sie Aktionsschaltflächen in Ihre Anwendung aufnehmen. Die Komponente erstellt die Schaltflächen für die Aktionen in der Benutzerschnittstelle und verarbeitet die Ereignisse, die beim Klicken auf eine Schaltfläche erstellt werden.

Diese Schaltflächen lösen Funktionen für die Objekte aus, die von einer Schnittstelle com.ibm.bpe.jsf.handler.ItemProvider zurückgegeben werden, beispielsweise die Klasse BPCListHandler oder die Klasse BPCDetailsHandler. Die Befehlsleistenkomponente verwendet den Elementprovider, der durch den Wert des Modellattributs im Tag bpe:commandbar definiert ist.

Verarbeitung von Befehlen

Sobald ein Benutzer auf eine Schaltfläche im Befehlsleistenabschnitt der Benutzerschnittstelle für die Anwendung klickt, wird das zugeordnete Ereignis folgendermaßen von der Befehlsleistenkomponente verarbeitet:

  1. Die Befehlsleistenkomponente ermittelt die Implementierung der Schnittstelle com.ibm.bpc.clientcore.Command, die für die Schaltfläche angegeben ist, von der das Ereignis generiert wurde.
  2. Falls das Modell, das der Befehlsleistenkomponente zugeordnet ist, die Schnittstelle com.ibm.bpe.jsf.handler.ErrorHandler implementiert, wird die Methode clearErrorMap aufgerufen, um Fehlernachrichten aus den vorherigen Ereignissen zu entfernen.
  3. Die Methode getSelectedItems der Schnittstelle ItemProvider wird aufgerufen. Die zurückgegebene Liste der Elemente wird an die Methode execute des Befehls übergeben, und der Befehl wird aufgerufen.
  4. Die Befehlsleistenkomponente ermittelt das JSF-Navigationsziel. Falls im Tag bpe:commandbar kein Aktionsattribut angegeben ist, gibt der Rückgabewert der Methode execute das Navigationsziel an. Ist das Aktionsattribut auf eine JSF-Methodenbindung gesetzt, wird die von der Methode zurückgegebene Zeichenfolge als Navigationsziel interpretiert. Das Aktionsattribut kann auch ein explizites Navigationsziel angeben.

Fehlerbehandlung

Ein Befehl wird nur dann ausgelöst, wenn eine der folgenden Bedingungen erfüllt ist:

  • Es wurde keine Ausnahmebedingung ausgelöst.
  • Bei der ausgelösten Ausnahmebedingung handelt es sich um eine Ausnahmebedingung ErrorsInCommandException.
Für die Implementierung der Fehlerbehandlung in der Befehlsleistenkomponente gibt es unterschiedliche Möglichkeiten:

  • Sie können beschließen, dass keine Funktionen der Befehlsleistenkomponente verwendet werden sollen. Falls Sie beispielsweise die Fehler auf einer speziellen Seite für den ausgewählten Befehl anzeigen wollen, kann die Implementierung des Befehls die auftretenden Ausnahmebedingungen abfangen und sie an eine Page-Bean weitergeben, die für die Fehlerseite verwendet wird. Mit dem Kontextattribut des Tags bpe:commandbar können Sie die Page-Bean für die Befehlsimplementierung verfügbar machen. Nachdem die Ausnahmebedingung für die Page-Bean festgelegt wurde, gibt der Befehl die Zeichenfolge der JSF-Navigationsregel zurück, die für die Fehlerseite definiert ist.
  • Falls Sie in der Benutzerschnittstelle unterhalb des Befehlsleistenabschnitts eine Fehlernachricht anzeigen wollen, erstellen Sie eine Ausnahmebedingungsklasse, die die Markierungsschnittstelle com.ibm.bpc.clientcore.exception.CommandBarMessage implementiert. Diese Schnittstelle stellt einen Nachrichtenkatalog mit Fehlernachrichten bereit.
  • Falls der Befehl für eine Liste von Elementen ausgeführt wird, ist es möglicherweise sinnvoll, den Erfolg des Befehls für jedes einzelne Element in der Liste protokollieren zu lassen. Um die Fehler zu protokollieren, ordnen Sie jede Ausnahmebedingung zu dem Element zu, für das die Operation fehlgeschlagen ist. Die Befehlsleistenkomponente kann eine Zuordnung, die Kennungen als Schlüssel und Ausnahmebedingungen als Werte enthält, an das Modellobjekt übergeben, das für die Befehlsleistenkomponente definiert ist.

    Damit dieser Mechanismus funktioniert, muss das Modellobjekt die Schnittstelle com.ibm.bpe.jsf.handler.ErrorHandler implementieren, und der Befehl muss eine Ausnahmebedingung com.ibm.bpc.clientcore.exception.ErrorsInCommandException auslösen. Die Befehlsleistenkomponente übergibt dann die in der Ausnahmebedingung enthaltene Zuordnung an den Fehlerhandler. Die Methode der Aktion wird ausgelöst, obwohl ein Fehler aufgetreten ist, und die aktuelle Ansicht wird aktualisiert. Die Anwendung "Business Process Choreographer Explorer" verwendet diese Methode, um Ausnahmebedingungen in Listen anzuzeigen.

  • Falls Sie eine Ausnahmebedingung ClientException auslösen, die die Schnittstelle CommandBarMessage nicht implementiert und bei der es sich nicht um eine Ausnahmebedingung ErrorsInCommandException handelt, gibt die Befehlsleistenkomponente die Ausnahmebedingung an die BPCError-Fehlerbean weiter, die in der Konfigurationsdatei der Anwendung definiert ist. Die Fehlerverarbeitung wird mit der Fehlerseite fortgesetzt.

Rechtliche Hinweise |

Letzte Aktualisierung: LASTUPDATEDVAR

(c) Copyright IBM Corporation 2005.
Dieses Information Center basiert auf Eclipse-Technologie. (http://www.eclipse.org)