Kontext
Wenn Sie den HTML-Inhalt der Seite nicht immer mit der
write-Funktion erzeugen möchten (so wie in
Controller anlegen beschrieben), sondern als reines HTML-Layout, dann legen Sie einen View an, den Sie von dem Controller aus aufrufen können.
Vorgehensweise
- Beginnen Sie so, als würden Sie in Ihrer BSP-Applikation eine normale Seite mit Ablauflogik anlegen.
Wählen Sie dazu im Kontextmenü
- Geben Sie im folgenden Popup einen Namen und eine kurze Beschreibung für den View an und wählen Sie als Seitentyp
View aus.
- Wählen Sie
.
- Für die variablen Teile des Views legen Sie Attribute an.
Hinweis
Hierbei ist es nicht möglich, Auto-Seitenattribute zu definieren, weil Views nicht direkt aus dem Browser aufgerufen werden können.
- Definieren Sie das Layout wie gewohnt:
<%@page language="abap" %>
<html>
<head>
<link rel="stylesheet" href="../../sap/public/bc/bsp/styles/sapbsp.css">
<title> Layout zum Controller </title>
</head>
<body class="bspBody1">
<H1>View-Beispiel</H1>
<H3>Hallo, Benutzer <%= name%></H3>
</body>
</html>
- Aktivieren Sie den View.
- Zuletzt passen Sie noch die
DO_REQUEST-Methode der Controller-Klasse an.
Hierbei ist das Schema immer gleich: Erst erzeugen Sie den View, dann setzen Sie die Attribute, anschließend rufen Sie den View auf. (Die Warnung bezüglich der Exception
CX_STATIC_CHECK können Sie vorerst ignorieren, oder um die Aufrufe einen
try-catch-Block setzen):
method DO_REQUEST .
data: myview type ref to if_bsp_page.
myview = create_view( view_name = 'view_test.htm' ).
myview->set_attribute( name = 'name' value = sy-uname ).
call_view( myview ).
endmethod.