Verwendung
Auf dieser Seite realisieren Sie die Ausgabe mit
HTMLB-Mitteln.Voraussetzungen
Sie haben eine BSP-Applikation angelegt (siehe auch
BSP-Applikationen anlegen). In unserem Beispiel hat sie den Namen BSP_TUT_COMPLEX.
Vorgehensweise
Seiten anlegen).
|
Attribut |
Auto |
Typisierungsart |
Bezugstyp |
|
name |
x |
TYPE |
STRING |
|
password |
x |
TYPE |
STRING |
|
|
x |
TYPE |
STRING |
|
<%@page language="abap"%> <%@extension name = "HTMLB" prefix = "htmlb" %> <htmlb:content> <htmlb:gridLayoutCell columnIndex = "1" rowIndex = "1" > <htmlb:label id = "name_label" text = "Name:" for = "name" /> </htmlb:gridLayoutCell> <htmlb:gridLayoutCell columnIndex = "2" rowIndex = "1"> <htmlb:inputField id = "name" value = "<%=name%>"/> </htmlb:gridLayoutCell> <%-- password --%> <htmlb:gridLayoutCell columnIndex = "1" rowIndex = "2" > <htmlb:label id = "password_label" text = "Password:" for = "password" /> </htmlb:gridLayoutCell> <htmlb:gridLayoutCell columnIndex = "2" rowIndex = "2"> <htmlb:inputField id = "password" value = "<%=password%>" password = "TRUE" /> </htmlb:gridLayoutCell> <%-- email --%> <htmlb:gridLayoutCell columnIndex = "1" rowIndex = "3" > <htmlb:label id = "email_label" text = "Email:" for = "email" /> </htmlb:gridLayoutCell> <htmlb:gridLayoutCell columnIndex = "2" rowIndex = "3"> <htmlb:inputField id = "email" value = "<%=email%>" /> </htmlb:gridLayoutCell> </htmlb:gridLayout> </htmlb:form> </htmlb:page> </htmlb:content> |
Ergebnis
Die generierte Ausgabe sieht aus wie folgt:

Analyse
Allein das Coding für die einfachen drei Eingabefelder erfordert mehr als 40 Zeilen Coding. Außerdem erkennt man aufgrund des
<htmlb:gridLayout>-Elements auf den ersten Blick auch nicht sofort die Struktur des Codings. Dieses Element ist für das vorliegende einfache Beispiel zwar nicht zwingend notwendig, aber bei komplexeren Layouts ist sein Einsatz sinnvoll.Nun können jedoch für diese Flow-artigen Layouts die meisten Attribute automatisch berechnet werden, insbesondere Zähler für Zeilen und Spalten. Genauso ist es mit der Anbindung von
<htmlb:label> an <htmlb:inputField>. Auch können viele der Attribute hart in eine Menge von Verschalungselementen kodiert werden.Daher empfiehlt es sich, eine BSP-Extensions-Bibliothek zu designen, die auch inhärente Informationen (d.h. hart kodierte Elemente) für das Layout einer spezifischen BSP-Applikation oder einer Gruppe von BSP-Applikationen enthält. Idealerweise sind die einzelnen BSP-Extensions in dieser Bibliothek „schlank" und einfach zu erstellen. Mit ihnen sollen rasch „Werkzeugkästen" erstellt werden können, die das Aussehen und das gesamte Layout an einer zentralen Stelle kapseln. Dadurch können auch bei Bedarf sehr rasch Änderungen an der gesamten Applikation vorgenommen werden.
All dies kann über die
Design-Lösung realisiert werden.