Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Java EE 7: Geschäftsanwendungen

Seite: Bearbeiten / Neu anlegen – Adressliste und Kommunikationsliste implementieren

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Kommunikations- und Addressdatensätze eines Kunden werden auf der selben Seite dargestellt, wie seine Stammdaten. Nutzen Sie JSF-DataTable-Komponenten für die jeweiligen Darstellungen, die zudem den Wechsel zwischen Edit- und Anzeigemodus gestatten.

Transkript

An der selben Stelle, wo wir auch die Stammdaten des Kunden darstellen wollen wir natürlich auch seine Kommunikations- und Adressdaten darstellen. Wir werden in diesem Video uns deshalb mit der GSF Datatable beschäftigen und dabei Adress- und Kommunikationsliste implementieren. Die Kommunikationsdaten und die Adressdaten befinden sich unterhalb der Stammdaten und oberhalb der Buttons. Zu diesem Zweck fügen wir zunächst einmal eine Zwischenüberschrift ein. und danach eine Zeile, in der wir dann eine dataTable drin positionieren werden. Diese dataTable ist gebunden an die Addresses-Auflistung. und sie wird nur dann dargestellt, wenn wir mindestens einen Datensatz haben. Sollten wir keinen Datensatz haben, werden wir ein Hinweistext darstellen. Dies geschieht mit Hilfe einer Output-Textanweisung, die nur dann dargestellt wird, wenn wir eben keinen Datensatz besitzen. Widmen wir uns nun der Datatable. Zunächst einmal werfen wir einen ganz kurzen Blick auf die Anweisungen, die da drin stehen. Wir lassen alle Adressen, die uns bekannt sind, durchlaufen․ Für jeden Durchlauf steht der aktuelle Datensatz in der Variablen entry. Die Eigenschaft ColumnClasses erlaubt es uns die Spalten mit CSS-Klassen zu versehen. Wir werden hier also eins, zwei, drei, vier, fünf, sechs Spalten in dieser Tabelle implementieren. Bei diesen Spalten handelt es sich um die Adressdatensätze, die wir haben und ich füge hier mal die Spalte für die Straße ein, weil wir uns diese einmal anschauen können, die anderen funktionieren nämlich analog. So eine Spalte wird ausgedrückt mit Hilfe eines column-Elementes. Innerhalb dieses column-Elementes befindet sich ein facet-Element mit dem Namen Header. Das gibt den Spalten Titel an. Und wir haben zwei Elemente drin, nämlich einmal ein Outputtext-Element, das angezeigt wird, wenn das Feld editing des Datensatzes bzw. eigentlich der den Datensatz repräsentierenden Bean, die wir ab zuvor angelegt hatten, nicht den Wert true hat, also das Ganze nicht im editing-Modus ist und ein Eingabefeld, das angezeigt wird, wenn sich der Datensatz im Editiermodus befindet. Dasselbe werden wir nun für die nächsten Felder Postleitzahl, Ort und Land ebenfalls einfügen. Auch hier gibt es dann column-Elemente mit Header, Outputtext- und Inputtext-Elementen, und diese werden dann dargestellt, wenn der Editiermodus aktiv, bzw. nicht aktiv ist. Die hat eine Adresse. Drücken wir über zum einen ein Ausgabefeld aus, wo dann der bereits implementierte deutsche Text erscheint, und wir lassen sie festlegen über ein SelectOneRadio-Element das heißt eine Radiobutton-Liste, die untereinander angeordnet ist, das wird ausgedrückt über Layout und hier befinden sich die möglichen Werte wieder drin. Also Geschäftsadresse, Privatadresse und Unbekannt, die dann auf die entsprechenden Enummember, die die Identität ja besitzt, gemappt werden. Zuletzt gibt es eine weitere Spalte, und in dieser Spalte befinden sich Buttons. Die Spalte heißt Aktion, und innerhalb dieser Spalte befinden sich drei Buttons, von denen immer nur zwei sichtbar sind, nämlich Bearbeiten, oder der Fertig-Button und die Sichtbarkeit wird über das rendered-Attribut geregelt und das ist dann wieder gebunden an editing-Eigenschaft, den Backing Bean die wir hier einsetzen. Und ein letzter Button, der ist immer sich sichtbar der entfernt den Datensatz aus der Manage Bean, die den customer repräsentiert. Dazu verwenden wir die eher angelegte Remove-Methode. So, damit haben wir jetzt eine Datatable gebaut, die zwei Modi unterstützt, nämlich den Editiermodus und den Ansichtsmodus für jeden Datensatz und die besser uns erlaubt einzelne Adressen zu bearbeiten und anzuzeigen. Nun benötigen wir lediglich eine Möglichkeit, ein Datensatz hinzuzufügen. Dies machen wir mit Hilfe eines Comand-Buttons. Wenn diese [command]-Button ausgelöst ist, wird die Methode [addAddress] der [Customer Management Bean] aufgerufen. Im nächsten Schritt werden wir die Liste der Kommunikationsdaten darstellen. Dies wird erneut mit Hilfe einer Datatable umgesetzt. Die Grundlogik ist absolut analog zu der Logik, die wir gerade eben für die Adressen implementiert haben. Das bedeutet, wir haben eine kleine Zwischenüberschrift und dann haben wir eine Datatable, die diesmal an die Eigenschaft communications der Management Bean gebunden ist․ Jeder Datensatz, der hier laufen wird, befindet sich innerhalb der Variablen comm. Sichtbar ist diese Datatable nur, wenn wir mindestens einen Datensatz in der Liste der Kommunikationseinträge haben. Sollten wir keinen Datensatz in der Liste der Kommunikationseinträge haben, dann zeigen wir einen entsprechenden Hinweistext an. Auch diese Datatable unterscheidet für ihre Einträge zwischen Editiermodus und nicht Editiermodus. Wir haben also Spalten da wieder da befindlich, und innerhalb jeder Spalte befindet sich ein Outputtext-Element, das angezeigt wird, wenn du dich nicht im Editiermodus befindest, und ein Eingabeelement, das sichtbar ist, wenn wir uns im Editiermodus befinden. Wir lassen hier die Felder Name und Wert, sowie Typ und Art editieren. das Typ-Feld ist gebunden an die communicationType-Eigenschaft, Und wir haben hier mit Hilfe eines selectOneRaio-Elements eine Auswahl geschaffen, wo wir eine Radiobutton-Liste anzeigen und das Art-Feld ist gebunden an die Eigenschaft CommunicationKind und auch hier haben wir eine Auswahl mit Hilfe eines SelectOneRadio-Instanz, so dass wir letztlich in der Lage sind die Elemente untereinander anzuzeigen in Form von RadioButtons. Dieses Untereinanderanzeigen wird geregelt über die Eigenschaft Layout mit dem Wert pageDirection. Fehlt noch eine letzte Spalte, nämlich die Aktionsspalte. Diese unterscheidet sich ebenfalls nicht wirklich von der Aktionsspalte der Address-Datatable, Wir haben hier ebenfalls wieder drei Command-Buttons drin, jeweils zwei sind sichtbar. Die ersten beiden Buttons werden wechselseitig sichtbar sein. werden wir und im Editiermodus befinden, ist der Button-fertig sichtbar. Das ist der untere. Und befinden wir uns nicht im Editiermodus, dann ist der obere Button sichtbar, der dann die Editiermodus einschaltet, über die vorhin angelegte Methode, toggleEditing auf Ebene der Bean, die den Datensatz repräsentiert. Fehlt auch hier noch eine letzte Komponente nämlich ein Button, mit dem wir einen neuen Kommunikationseintrag hinzufügen können. Dies wird erneut über einen Command-Button ausgedrückt. Dieser Command-Button ruft dann die Methode addCommunication der CustomerManagementBean auf, um einen neuen Datensatz übrigens dann schon im Editiermodus einzulegen. Damit haben wir die Listendarstellungen umgesetzt für die Kommunikationsdaten und für die Adressdaten und wir können uns nun einmal das Ergebnis dann in seiner kompletten Schönheit betrachten. Wenn wir uns nun hier die Eigenschaften eines Kontakts anschauen und ihn bearbeiten, können wir beispielsweise Kommunikationsdaten entfernen. Sie sehen die, die Daten sind weg. Wir können neue Kommunikationsdaten hinzufügen. Und wir können ganz entspannt zwischen Editiermodus und Normalmodus hin und her schalten. Ein Klick auf Übernehmen, übernimmt er noch die Änderungen, und wir finden diese Daten dann halt in unserer Liste wieder. Wir haben uns in diesem Video damit auseinandergesetzt, wie wir die Detaillisten implementieren können. Wir haben zu diesem Zweck für die Adressdaten und für die Kontaktinformation jeweils Datatables eingelegt, jeder dieser Datatables verfügt über die Möglichkeit, dass sie die Informationen für jeden Datensatz im Editmodus, oder im normalen Modus anzeigen kann. Die Umschaltung erfolgt mit Hilfe Command-Buttons auf Ebene jeden Datensatzes ebenfalls können wir Datensätze löschen, und sind ebenfalls in der Lage neue Datensätze hinzuzufügen. Das haben wir, wie gesagt, für beide Arten von Listenelementen gemacht, also für Adressdaten und für Kontaktdaten.

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!