Show TOC Anfang des Inhaltsbereichs

Diese Grafik wird im zugehörigen Text erklärt Controller  Dokument im Navigationsbaum lokalisieren

Definition

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.

Verwendung

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 vorgehalten werden.

Diese Grafik wird im zugehörigen Text erklärt

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. 

Diese Grafik wird im zugehörigen Text erklärt 

Unter Umständen kann eine View als Teil eines View-Sets 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.

Globale Controller

Jede Web-Dynpro-Component besitzt zudem auch mindestens einen globalen Controller welche innerhalb der Component für alle anderen Controller sichtbar sind. 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.

Diese Grafik wird im zugehörigen Text erklärt 

Interface-Controller

Jede Web-Dynpro-Component besitzt genau einen so genannten 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 – sie 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 – diese können von anderen Controllern aufgerufen werden

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

 

Ende des Inhaltsbereichs