Show TOC

HintergrundController Dieses Dokument in der Navigationsstruktur finden

 

Controller sind die aktiven Teile einer Web-Dynpro-Anwendung. Sie legen fest, wie der Benutzer mit der Web-Dynpro-Anwendung agieren kann. Die Daten, auf die ein Controller zugreifen kann, sind im zugehörigen Context definiert. In einer Web-Dynpro-Anwendung existieren verschieden ausgeprägte Controller und Contexte. Neben View-Controllern, die das Verhalten einer einzelnen View steuern, gibt es auch globale Controller, die allgemeinere Services für alle Views einer Component anbieten.

 

View-Controller

Zu jeder View gehört zum einen genau ein View-Controller, der die Aktionen des Benutzers auf der View verarbeitet. Zum anderen besitzt eine View genau einen View-Context, in dem die benötigten Daten abgelegt werden.

Die Abbildung wird im Begleittext erläutert.

Ein View-Controller und der zugehörige Context lebt mindestens so lange, wie die jeweilige View im Browser sichtbar ist: Wird die View durch eine Nachfolge-View ersetzt, sind auch die lokalen Daten nicht mehr vorhanden. Die Lebensdauer kann jedoch auch an die Lebensdauer der umgebenden Component gebunden werden.

Achtung Achtung

Unter Umständen kann eine View als Teil eines View-Sets (Web Dynpro Java) im technischen Sinne sichtbar sein, auf dem Bildschirm jedoch könnte ihr Inhalt beispielsweise als verdeckte Registerkarte im Hintergrund liegen. In diesem Fall sind die Daten der View nach wie vor vorhanden, die View lebt.

Ende der Warnung.
Globale Controller

Jede Web-Dynpro-Component besitzt mindestens einen globalen Controller, welcher innerhalb der Component für alle anderen Controller sichtbar ist. Nachdem die Daten dieses Component-Controllers mit ihrem ersten Zugriff erzeugt wurden, erstreckt sich ihre Lebensdauer auf die Nutzungsdauer der jeweiligen Component.

Weitere globale Controller können Sie in Form von Custom-Controllern hinzufügen. Auch sie existieren so lange wie die Component, und die in ihnen enthaltenen Daten stehen allen Views der Component optional zur Verwendung zur Verfügung.

Mit jedem Web-Dynpro-Window wird der Component ein weiterer globaler Controller, der Window-Controller, hinzugefügt.

Die Abbildung wird im Begleittext erläutert.

Interface-Controller

Jede Web-Dynpro-Component besitzt genau einen Interface-Controller. Dieser Controller ist ein globaler Controller, welcher zusätzlich auch außerhalb der Component sichtbar ist. Er ist damit Teil der Schnittstelle einer Web-Dynpro-Component.

Die Kommunikation von einem Controller zum nächsten erfolgt durch den Aufruf von Methoden eines anderen Controllers oder durch das Auslösen eines Ereignisses, auf das sich andere Controller registriert haben. Diese Controller-Verwendungen werden von Ihnen bei der Erstellung eines Controllers definiert.

Quelltext

Jeder Controller besitzt Programmbereiche, in denen Sie eigenen Quelltext einfügen können. So existiert ein Application Programming Interface (API), um Context-Knoten und ihre Attribute sowie die Daten zu bearbeiten. Auch die notwendige Initialisierung von Knoten kann über dieses API ausgeführt werden. Weitere APIs stehen zur Verfügung, z.B. das API der Server-Abstraktions-Schicht, um auf die Systemumgebung zuzugreifen, oder die APIs für die Nachrichtenbehandlung und die dynamische Programmierung.

Controller können eigenen Quelltext in folgenden Bereichen enthalten:

  • Ereignisbehandler

    Ereignisbehandler werden ausgeführt, wenn eine View initialisiert, beendet oder betreten wird, wenn ein Oberflächenelement einer View eine Aktion auslöst oder wenn andere Controller ein registriertes Ereignis auslösen.

  • Methoden

    Methoden können von anderen Controllern aufgerufen werden.

  • Supply-Funktionen

    Supply-Funktionen werden nach Bedarf ausgeführt, um Elemente im Context zu initialisieren.