Übung 1.4: Neue Datensätze erstellen

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.

Den relationalen Datensatz erstellen

Anzeige
  1. Klicken Sie doppelt auf die Datei new_record.jsp in der Ansicht "Projekt-Explorer", um sie zu öffnen.
  2. Löschen Sie den Standardtext Hier Inhalt einfügen.
  3. Klicken Sie in der Ansicht "Palette" auf den Drawer Daten, um ihn zu erweitern.
  4. Ziehen Sie die Komponente Relationaler Datensatz von der Palette in den leeren Inhaltsbereich. Das Fenster "Relationalen Datensatz hinzufügen" wird daraufhin geöffnet.

    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.

  5. Geben Sie im Feld Name create_record ein.
  6. Klicken Sie unter Steuerelemente erstellen für auf Erstellung eines neuen Datensatzes.
  7. Stellen Sie sicher, dass Eingabe-/Ausgabesteuerelemente zur Anzeige des Datensatzes auf einer Webseite hinzufügen ausgewählt ist.

    Das Fenster 'Relationalen Datensatz hinzufügen' sollte folgendermaßen aussehen:

    Fenster 'Relationalen Datensatz hinzufügen'

  8. Klicken Sie auf Weiter.
  9. Klicken Sie im Tabellenfenster auf die Tabelle W5SAMPLE.ADS.
  10. Klicken Sie auf Weiter.
  11. Klicken Sie erneut auf Weiter. Die Seite "Datensteuerelemente konfigurieren" wird geöffnet.

Die Darstellung des relationalen Datensatzes anpassen

Anzeige

Ü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.

  1. Nehmen Sie im Abschnitt Angezeigte Felder die Auswahl des Markierungsfelds neben allen Feldnamen zurück, die nicht angezeigt werden sollen, sodass nur die Markierungsfelder neben den Feldnamen ausgewählt bleiben, die in Ihrem Eingabeformular erscheinen sollen:
  2. Ordnen Sie die Felder in der folgenden Reihenfolge von oben nach unten neu an:
    1. ID
    2. TITEL
    3. BESCHREIBUNG
    4. HAUPTKATEGORIE
    5. PREIS
    6. TELEFONNUMMER
    Um die Reihenfolge der Felder zu ändern, klicken Sie zunächst auf den Namen eines Feldes und dann auf die Pfeile für Aufwärts bzw. Abwärts .
  3. Benennen Sie die Bezeichnungen wie gewünscht um. Sie könnten beispielsweise die Bezeichnung "Hauptkategorie" zu "Kategorie" verkürzen.

    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.

  4. Klicken Sie auf Optionen. Das Fenster Optionen wird geöffnet.
  5. Stellen Sie sicher, dass die Option Schaltfläche 'Übergeben' ausgewählt ist.
  6. Geben Sie Neuen Eintrag übergeben im Feld Bezeichnung ein.
  7. Klicken Sie auf OK.

    Das Fenster 'Relationalen Datensatz hinzufügen' sollte nun folgendermaßen aussehen:

    Fenster 'Relationalen Datensatz hinzufügen'

  8. Klicken Sie auf Fertig stellen, um das Eingabeformular zu generieren. Das Formular sollte folgendermaßen aussehen:

    Aktuelle Darstellung der Seite

    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.

Die Schaltfläche 'Übergeben' programmieren

Anzeige

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:

  1. Klicken Sie in der Datei 'new_record.jsp' auf die Schaltfläche Neuen Eintrag übergeben, die Sie im Formular auf der Webseite erstellt haben.
  2. Öffnen Sie die Ansicht 'Schnellbearbeitung'.

    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:

    Codebeispiel

  3. Platzieren Sie den Cursor in der Ansicht 'Schnellbearbeitung' durch Klicken genau vor dem Code return "";.
  4. Drücken Sie die Eingabetaste. Vor return ""; wird eine neue Zeile angezeigt.
  5. Klicken Sie mit der rechten Maustaste auf die neue Leerzeile und wählen Sie anschließend Snippet einfügen > Wechseln zu Seite aus dem Kontextmenü aus. Das Fenster 'Aktion 'Wechseln zu Seite' editieren' wird geöffnet.
  6. Wählen Sie aus der Dropdown-Liste den Eintrag all_records.jsp als Zielseite aus.
  7. Klicken Sie auf OK.
  8. Der Ereigniscode für Ihre Schaltfläche sollte folgendermaßen aussehen:

    Codebeispiel

  9. Speichern Sie die Datei und führen Sie die Seite anschließend auf Ihrem Testserver aus, wenn Sie möchten. Während der Ausführung der Seite auf dem Testserver können Sie neue Datensätze hinzufügen und die Seite 'all_records.jsp' erneut aufrufen, um diese neuen Datensätze anzuzeigen.

Doppelte Schlüssel vermeiden

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.

Eingabe an den relationalen Datensatz binden (optional)

Anzeige

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.

  1. Klicken Sie in der Datei 'new_record.jsp' auf das Eingabefeld Beschreibung.
  2. Drücken Sie die Taste für Löschen.
  3. Klicken Sie in der Ansicht 'Palette' auf den Drawer Faces-Komponenten, um diesen Drawer zu erweitern.
  4. Ziehen Sie die Komponente Eingabe aus der Palette auf die Zelle, die das soeben gelöschte Eingabefeld Beschreibung enthielt.

    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.

  5. Ziehen Sie in der Ansicht 'Seitendaten' die Spalte BESCHREIBUNG auf die soeben erstellte Komponente Eingabe. Der Text in der Komponente Eingabe zeigt nun an, dass das Feld an die Spalte BESCHREIBUNG gebunden ist (vgl. Bild):

    Eine Spalte an das Eingabefeld binden

  6. Speichern Sie die Datei und führen Sie die Seite anschließend auf dem Testserver aus, wenn Sie möchten.

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.

Nutzungsbedingungen | Feedback
(C) Copyright IBM Corporation 2000, 2004. Alle Rechte vorbehalten.