Context
If you do not always want to use the
write function to create the HTML page content (as described in
Creating Controllers), and you want to create it as pure HTMLO layout instead, then create a view that you can call from the controller.
Procedure
- Begin as if you are creating a normal page with flow logic in your BSP application.
- In the following dialog box, enter a name and short description of the view and select
View as the page type.
- Choose
.
- Create the attributes for the variable parts of the view.
Note
You cannot define auto-page attributes, since views cannot be called directly from the browser.
- Define the layout as usual:
<%@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>
- Activate the view.
- Finally, adjust the
DO_REQUEST method to the controller class.
Here, the schema is always the same. First you create the view, then you set the attributes, and then you call the view. (For the time being you can ignore the warning concerning exception
CX_STATIC_CHECK, or you can set a
try-catch block around the calls): .
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.