Bevor Sie beginnen, müssen Sie Übung 1.3: Die Website testen abgeschlossen haben.
In dieser Übung erstellen Sie eine Seite, über die Benutzer neue Kleinanzeigen erstellen und an die Datenbank übergeben können. Zunächst erstellen Sie einen relationalen Datensatz, der einen neuen Datensatz in der Datenbank darstellt, dann erstellen Sie eine Darstellung des Datensatzes auf Ihrer Seite als Gruppe von Eingabefeldern.
Wenn eine Warnmeldung erscheint, die Sie darauf hinweist, dass keine Verbindung zur Datenbank hergestellt werden konnte, dann haben Sie nach dem Testen der Website den Server laufen gelassen. Sollte dies der Fall sein, klicken Sie in jedem Dialog auf Abbrechen und stoppen Sie den Server, wie unter Den Server stoppen in Übung 1.3: Die Website testen beschrieben.
Das Fenster 'Relationalen Datensatz hinzufügen' sollte folgendermaßen aussehen:
Über die Seite "Datensteuerelemente konfigurieren" können Sie die Darstellung Ihres relationalen Datensatzes anpassen. Sie können beispielsweise die Spalten, Feldbezeichnungen und die Schaltfläche 'Übergeben' Ihres Eingabeformulars ändern. Nachdem Sie diese Schritte abgeschlossen haben, befindet sich auf der Seite ein voll funktionsfähiges Eingabeformular.
Um die für die Eingabefelder generierten Bezeichnungen umzubenennen, klicken Sie in der Spalte Bezeichnung auf eine Bezeichnung. Das Maussymbol wird zu einem Cursor, sodass Sie einen neuen Text eingeben können.
Das Fenster 'Relationalen Datensatz hinzufügen' sollte nun folgendermaßen aussehen:
Das Formular enthält ein Feld 'Fehlernachrichten'. Dies bedeutet nicht, dass Ihr Projekt Fehler aufweist. Dieses Feld markiert lediglich den Bereich, in dem Fehler angezeigt werden, die möglicherweise auftreten, wenn der Benutzer das Formular übergibt.
Wenn Ihr Eingabeformular übergeben wird, fügt die Seite den neuen Datensatz automatisch der Datenbank hinzu. Sie können die Schaltfläche 'Neuen Eintrag übergeben' so programmieren, dass die Seite 'all_records.jsp' erneut aufgerufen wird und Sie den neuen Datensatz in der Datenbank unverzüglich anzeigen können. Gehen Sie hierzu wie folgt vor:
Die Ansicht 'Schnellbearbeitung' befindet sich normalerweise unten in der Mitte der Workbench, bei den Registerkarten neben der Ansicht 'Eigenschaften'. Wenn Sie die Ansicht 'Schnellbearbeitung' nicht finden können, klicken Sie in der Menüleiste auf Fenster > Sicht anzeigen > Schnellbearbeitung.
Bei der Ansicht 'Schnellbearbeitung' handelt es sich um einen kontextabhängigen Java-Editor, der Sie dabei unterstützen kann, Ereignisse für Ihre Faces-Komponenten zu codieren. Die Ansicht 'Schnellbearbeitung' enthält nun den generierten Code, der das Erstellen eines neuen Datensatzes in der Datenbank ausführt, wie nachstehend gezeigt wird:
Da es sich bei der ID-Spalte in der ADS-Tabelle um einen Primärschlüssel handelt, können keine Datensätze mit einem ID-Wert hinzugefügt werden, der in der Tabelle bereits vorhanden ist. In Modul 2 werden Sie lernen, wie die automatische Schlüsselerstellung verwendet wird, um für jeden neuen Datensatz automatisch einen neuen Schlüssel zu erstellen, der bisher noch nicht verwendeten wird.
Bis dahin müssen Sie auf dieser Seite eine bisher noch nicht verwendete ID-Nummer eingeben, um einen neuen Datensatz hinzuzufügen. Für die mit der Datenbank gelieferten Datensätze werden ID-Nummern von 1 bis 22 verwendet. Sie können also als Primärschlüssel eine beliebige Zahl eingeben, die größer als 22 ist. Wenn Sie mehr als einen Datensatz eingeben, müssen Sie unbedingt darauf achten, keine doppelten Schlüssel zu verwenden.
Das Eingabeformular auf der Seite besteht aus einer Gruppe von JavaServer Faces-Eingabefeldern, die an den von Ihnen erstellten relationalen Datensatz gebunden wurden. Zur Erinnerung: Sie haben den relationalen Datensatz erstellt, um in der ADS-Tabelle Ihrer Datenbank einen neuen Datensatz darzustellen. Das Binden ist eine Methode, mit der eine JavaServer Faces-Eingabekomponente mit einer Spalte im relationalen Datensatz verknüpft werden kann.
Als Sie den relationalen Datensatz erstellt haben, hat der Assistent sämtliche Spalten automatisch an die Eingabefelder auf der Seite gebunden. Wenn Sie manuelle Änderungen vornehmen wollen, können Sie weitere Spalten an weitere Eingabefelder binden. Um eine Spalte aus Ihrem relationalen Datensatz an ein Eingabefeld zu binden, ziehen Sie die betreffende Spalte aus der Ansicht 'Seitendaten' auf das entsprechende Feld. Sie können dieses Verfahren ausprobieren und üben, indem Sie das Eingabefeld Beschreibung in Ihrem Formular löschen und erneut erstellen. Weitere Informationen zur Ansicht 'Seitendaten'.
Anhand der nachstehenden Schritte soll das Konzept der Eingabefelder und das Verfahren zum Binden demonstriert werden. Die Durchführung dieser Schritte ist in diesem Lerntext optional. Wenn Sie diesen Teil nicht üben wollen, arbeiten Sie weiter mit Übung 1.5: Eine Aktualisierungsseite erstellen.
In dieser Zelle befindet sich nun ein Eingabefeld. Dieses Feld enthält jedoch keinen Text wie beispielsweise {ID} oder {TITEL}, da es an keine Spalte gebunden ist.
Sie sind nun in der Lage, Ihre eigenen JavaServer Faces-Eingabeformulare zu erstellen und zu ändern, und können jetzt mit Übung 1.5: Eine Aktualisierungsseite erstellen beginnen.