Sonne Mond Sterne

Hallo Sonne!


In diesem allerersten Beispiel wird das MVC-Framework für die Aufgabe verwendet, wechselnde Bestandteile in eine HTML-Seite einzubinden. Eine Komponente c bekommt im Hauptview einen fest vorgesehenen Platz. In der Flow Logic werden für die drei wechselnden Bestandteile (die Grussformeln <Hallo Sonne!>, <Hallo Mond!> und <Hallo Sterne!>) drei Panels deklariert. Jeder Panel belegt die abstrakte Komponente c mit einem anderen konkreten View.

Die Hyperlinks sind mit den vordefinierten Funktionen zum Wechseln des Panels verknüpft. Im Controller muss bei diesem einfachen Beispiel daher keine Logik programmiert werden.

Quelltext des Hauptviews (main2.htm)

<%@page language="abap"%>
<%@extension name="Z" prefix="z"%>
<html>
  <head>
    <title>Hallo Welt!</title>
    <z:globals/>
  </head>
  <body>
    <z:form>
    <a href="javascript:genericSubmit('main2__panel_sun')">Sonne</a>
    <a href="javascript:genericSubmit('main2__panel_moon')">Mond</a>
    <a href="javascript:genericSubmit('main2__panel_stars')">Sterne</a>
    <p>
    <!-- Panel: <%= caller->panel%>
         View:  <%= c->get_page_name( )%>  -->
    <% call_view( c ).%>
    <!-- Ende des includierten Views       -->
    </z:form>
  </body>
</html>

Flow Logic

<?xml version="1.0" encoding="iso-8859-1" ?>
<application name="zz_hallo_welt"
             stateful="false">
  <controller id="main2"
              name="hallo.do"
              class="zcl_controller">
    <panel name="sun" default="true">
      <component name="c"
                 view="halloSonne.htm"/>
    </panel>
    <panel name="moon">
      <component name="c"
                 view="halloMond.htm"/>
    </panel>
    <panel name="stars">
      <component name="c"
                 view="halloSterne.htm"/>
    </panel>
    <callsView name="main2.htm"/>
  </controller>