Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Java EE 7: Geschäftsanwendungen

Seite: Bearbeiten / Neu anlegen

Testen Sie unsere 2013 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Anlegen und Bearbeiten eines Kundendatensatzes gehören auf eine Seite. Hier legen Sie die Seite an, lassen in Abhängigkeit vom Kundenstatus unterschiedliche Titel darstellen und geben dem Benutzer die Möglichkeit, die Stammdaten eines Kunden zu erfassen.

Transkript

Das Herzstück unserer Application, steht die Seite da mit der wir Datensätze neu anlegen bzw. bearbeiten können. Die werden wir innerhalb von einer Seite machen. In diesem Video werden wir uns damit auseinandersetzen, wie wir diese Seite grundsätzlich aufbauen können. Wir werden uns ebenfalls darum kümmern, dass wir die Stammdaten bearbeiten können und dass wir eine speichern und abbrechen Funktionalität bereitstellen. Bevor wir uns dieser Seite selber zuwenden, wechseln wir zunächst einmal in die AddressBean und werden hier eine zusätzliche Methode einfügen, nämlich die Methode toggleEditing. Deren Aufgabe besteht darin, den Editiermodus eines Datensatzes umzuschalten. Von editierend auf nicht editierend und andersrum. Genau die selbe Methode fügen wir noch in der CommunikationBean ein, sodass wir auch hier für Kommunikationsdatensätze diese Funktionalität haben. Nun können wir uns der eigentlichen Implementierung, der Bearbeitungsseite widmen. Diese Seite nennt sich edit user und wir legen sie erst einmal neu an, als XHTML Page. Und wir verwenden die Vorlage Blank Facelet Page. Zunächt einmal legen wir das Template fest, das von dieser Seite verwendet werden soll. Dies ist das Template, was ich in templates template.xhtml befindet und dort drinnen definiert ist. Im ersten Schritt werden wir den header anpassen. Dies machen wir mit ui:define Element, was auf das Element mit dem Namen title zeigt. Und hier werden wir das erste Mal eine Unterscheidung vornehmen, ob wir ein Datensatz gerade neu anlegen oder ob wir ein Datensatz bearbeiten. Weil je nachdem, was wir dort tun soll es eine andere Überschrifft geben. Zu diesem Zweck, fügen wir zwei output Textelemente ein und deren Eigenschafte rendert, steuert, ob das Element tatsächlich dargestellt wird oder nicht und es ist gebunden an die CostumerID und wir machen ja eine Abfrage darauf. Ist CostumerID 0, dann geben wir aus neuen Datensatz anlegen und ist die CostumerID ungleich 0, dann geben wir aus, dass wir einen existierenden Datensatz bearbeiten wollen. Der nächte Schritt ist das Anlegen eines ui:define Elementes für den Inhalt. Das heißt wir überschreiben das Element mit dem Namen content aus dem Template. Und nun werden wir zunächst einmal wieder unseren eigentlichen Datensatz in der Backing Bean, also in der Managed Bean Customers initialisieren lassen. Dies machen wir in dem wir den übergebenen ParameterID an das Feld CustomerID binden und in dem wird den event listener für das preRenderView Element son konfigurien, dass die Methode initCustomer aufgerufen wird. Damit ist sicher gestellt, dass sich stets ein Datensatz im Kontext der Managed Bean befindet. Nun definieren wir ein h:form Element. Dieses h:form Element wird von JSF benutzt um Fomulare anzuzeigen. Innerhalb dieses Fomulares legen wir nun zunächst eine Überschrift an und lassen danach zwei Eingabefelder erscheinen einmal für den Nachnamen des Benutzers, und einmal für dessen Vornamen. Ebenfalls haben wir zwei Eingabeelemente, die an die jeweiligen Eigenschaften gebunden sind. Als nächstes, lassen wir eine Auswahlmöglichkeit für das Geschlecht erscheinen in der Seite. Das machen wir in dem wir ein output Label definieren, was ein Text ausgibt und danach mit einer selectOneRadio Auswahl arbeiten eine selectOneRadio Auswahl erlaubt es aus einer Liste von Radio Buttons genau ein Element auszuwählen. Wie binden dies an die Eigenschaft gender der actuellen Customerinstance Und wir stellen die 3 möglichen Werte Male, Female und Unknown zur Verfügung und die Ausgabe labels, also die Texte die daneben erscheinen sind dann auf Deutsch. Nun möchten wir, dass auch der Geburtstag eingegeben werden kann. Zu diesem Zweck fügen wir ein Eingabenfeld ein, was auf die Eigenschaft birthday des Kunden gebunden ist. Und hier drinnen lassen wir die Eingabe dann in ein Datumswert konvertieren bzw. den Datumswert, den wir vom Kunden zurückbekommen, dann im deutschen Format anzeigen. Hier gibt es noch ein Element drinnen, was im Moment gelb unterstrichen ist, dass ist das placeholder Element. Das ist nämlch ein Element, was JSF nicht kennt. Dieses Element müssen wir nun noch verfügbar machen und das machen wir im Kopf der Seite. Indem wir hier oben bei der Deklaration der Namensräume noch ein weiteren Namensraum hinzufügen. Dieser Namensraum ist der Namensraum für das neue JSF. feature passthrough Element bzw. passthrough Attribute. Und wenn das eingefügt ist, wenn wir also die Möglichkeit haben diesen Namensraum zu verwenden, dann können wir hier HTML5 Elemente mitbenutzen auf JSF Komponenten. Die werden dann einfach so wie sie sind in die Ausgabe geschrieben, passtrough. Ein Attribute des Kunden fehlt noch nämlich die Angabe des Beziehungsstatus, den wir zu diesem Kunden haben. Das machen wir auch wieder mit einem Auswahlelement, diesmal jedoch mit einer Auswahlliste mit einem Drop Down Element ausgedrückt über ein selectOneMenu Element. Und auch hier drinnen haben wir wieder die möglichen Werte und haben die itemLabels genutzt, um die Darstellung zu übersetzen. Gebunden wird das ganze an die Eigenschaft relationship des Customers. Damit haben wir die Stammdaten, als solches editierbar und darstellbar gemacht. Zuletzt fügen wir noch Buttons ein mit denen wir den Datensatz speichern, bzw. die Bearbeitung abbrechen können. Da wir zwei verschiedene Speicheroptionen haben, nämlich neu anlegen und updaten fügen wir auch zwei Buttons ein. Der oberste Button zeigt auf die create Methode, der Button dadrunter auf die update Methode. Dargestellt wird der oberste Button nur, wenn wir einen neuen Datensatz haben, die CustomID also den Wert 0 hat. Und der andere Button wird nur dasrgestellt, wenn die CustomID ungleich 0 ist. Der letzte Button, der sich hier in dieser Liste befindet, der bricht die Verarbeitung ab. Und der verfügt über das Attribute immediate. Und mit diesem Attribute immediate sorgen wir dafür, dass keinerlei JSF Validierungslogik oder ähnliches mehr angewandt wird, sondern dass wir unmittelbar, also immediate die Aktion, die hier definiert ist ausführen können. Also auf die Startseiten zurückgehen können. Damit haben wir bereits sämtliche Funktionalität implementiert um die Stammdaten des Kunden. Also noch nicht die Kontaktdaten und auch noch nicht die Addressdaten zu bearbeiten. Wir können das Ganze noch einmal speichern und es uns im Browser beachten. Zu diesem Zweck starten wir die Applikation und nach einigen Sekunden ist die Applikation deployed und einsatzbereit. Und wir können Sie uns im Browser anschauen. Von der Startseite der Applikation aus können wir nun auf dem Button details klicken und haben dann hier die Schaltfläche bearbeiten Wenn wir dort draufklicken, können wir Daten des Kunden sehen. Wir können seine Werte, die da angegeben sind ändern und die änderungen werden auch gespeichert. Ebenfalls sind wir in der Lage einen neuen Datensatz anzulegen und diesen dann ebenfalls speichern zu lassen. Sie sehen die änderungen sind übernommen worden. Lediglich der Browser hat die Daten noch gechachet. Also zwischengespeichert gehabt. In diesem Video haben wir uns angeschaut, wie wir in Abhängigkeit von dem Status des Kunden, also ob er ein neuer Kunde ist oder schon ein existierender Kunde ist eine entsprechende Überschrift im Seitentitel ausgeben können. Und wir haben ein Formular geschaffen, mit dessen Hilfe wir die Standarten eines Kunden also Nachname, Vorname, Geschlecht Geburtstag und unseren Beziehungsstatus zu diesem Kunden bearbeiten können. Ebenfalls haben wir Funktionalitäten in Form von ComandButtons bereitgestelt, mit deren Hilfe wir in der lage sind den Datensatz zu speichern bzw. Änderungen zu übernehmen oder die Verarbeitung abzubrechen.

Java EE 7: Geschäftsanwendungen

Verfolgen Sie, wie eine komplette Business-Applikation unter dem Einsatz des gesamten Java-Enterprise-Techologiestacks ensteht.

5 Std. 2 min (39 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!