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

Java EE 7: Geschäftsanwendungen

Feste Verdrahtungen entfernen

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Fest verdrahtete Texte sind auf Dauer unangenehm, weil sich damit unter anderem keine Mehrsprachigkeit gewährleisten lässt und die Wartbarkeit beeinträchtigt ist. Mit Hilfe des JSF-Resource-Bundle-Mechanismus lösen Sie diese festen Verdrahtungen auf.

Transkript

Die letzten Schritte, die man gehen sollte, bevor man eine Applikation einem Kunden übergibt, sind nicht etwa unwichtiger, als die anderen Schritte zuvor, im Gegenteil, sie können gewaltige Auswirkungen auf Wartbarkeit und Betrieb der Applikation haben. Wir werden uns in diesem Video damit auseinandersetzen, wie wird die festen Verdrahtungen von Texten aus unseren JSF Pages entfernen können. Das Ganze ist etwas, was man normalerweise nicht erst am Ende eines Projektes macht, sondern am Anfang. Wir werden aus diesem Grund hier auch nicht mehr alle Texte entfernen können, sondern werden es exemplarisch an einer Stelle einmal durchführen. Der große Vorteil, wenn man das einmal gemacht hat, ist, dass man dann auf die Art und Weise auch sehr sehr schnell eine Mehrsprachigkeit der Applikation erreichen kann. JSF bietet mit Message Resourcen eigentlich ein sehr einfach nutzbaren Mechanismus, um solche Dinge wie hier, nämlich festverdrahtete Texte aus unseren Views herauszuhalten. Um diesen Mechanismus zu nutzen, wenn wir nun einmal einen dieser Texten markieren, und mache einen Rechtsklick darauf. Wir wählen nur die Option externalize selected string Es öffnet sich nun ein Wizard. Dieser Wizard erlaubt das mir, ein neues properties File anzulegen, denn diese Message Ressourcen sind nichts anderes als properties files. Wir können dann nun einen Schlüssel vergeben. Diesen Schlüssel müssen wir so eindeutig, wie möglich benennen, so dass wir genau wissen, was wir dort darüber repräsentieren und vielleicht auch so, dass wir das Ganze wieder verwenden können. Und wir müssen wir auf jeden Fall noch diese Datenbindungsausdrücke entfernen, denn die führen später zu Problemen. Wir ersetzen sie stattdessen durch Platzhalter. Diese Platzhalter sind einfach numerische Werte in geschweiften Klammern, die einen Index angeben. Dieser Index ist der Index des Parameters, den wir später einsetzen werden, und dieser Parameter wird diesen Platzhalter ersetzen. Wir lassen in diesem Fall hier die Option create a new properties file selektiert und klicken auf Next. Nun können wir ein Properties file anlegen und wir nennen dieses properties file messages.properties und klicken noch ein weiteres Mal auf Next. Nun können wir angeben, ob und wo dieses File definiert werden soll und registriert werden soll und wir wählen hier die erste Option nämlich in der faces-config.xml file. Und wir können nun hier ein Bundle Name angeben. Dieser Bundle Name ist quasi der Kurzname, den wir später verwenden werden, um so einen Parameter zu referenzieren und den können wir über Datenbindung also über die rautegeschweifte Klammernnotation in unsere Seiten bringen. Wenn wir das Ganze in diesem faces-config.xml registrieren lassen, dann hat es einen charmanten Vorteil, dass es uns überall in allen Views zur Verfügung steht. Ein Klick auf ok. Liegt den entsprechenden Eintrag in der faces-config Datei an, und es wird hier jetzt ersetzt. Und hatten wir allerdings in diesem Parameter Platzhalter drin. Und diese Datenbindung hier nun an dieser Stelle würde lediglich dafür sorgen, dass die Nachricht, inklusive Platzhaltern, ausgegeben werden würde. Das wollen wir nicht. Aus diesem Grund verwenden wir nun das OutputFormat Element und hier binden wir uns an diesen Ausdruck lassen also das, was in diesen Ausdruck referenziert ist, hier einfügen. Nun können wir untergeordnet, mit f:param Elementen die eigentlichen Datenbindungen vornehmen und uns interessiert jetzt hier der Wert und da binden wir nun unsere Komponenten, mit der wir arbeiten, samt der entsprechenden Eigenschaften, die uns interessieren und sorgen dann dafür, dass die Zeichenkette entsprechend angepasst wird vor der Ausgabe. Das heißt der Platzhalter wird ersetzt durch den Wert, den wir gebunden haben. So gehen wir nun überall vor, wo wir Platzhalter verwenden wollen. Wenn wir Stellen haben, an denen wir keine Platzhalter verwenden wollen, dann gehen wir etwas anders vor. Und ich habe jetzt hier gerade schon eine zweite Stelle gefunden, wo ich im Grunde dieselbe Ausgabe habe. Also gehe ich nun hin, kopiere das, und ersetze das auch in dieser Überschrift entsprechend und füge dann das OutputFormat Element samt Ersetzung der Platzhalter mit ein. Ja wie zum Beispiel ein OutputLabel Auch hier haben wir wieder eine feste Verdrahtung von Text. Und nun können wir diesen Text markieren, mache einen Rechtsklick da drauf und wir wählen die Option externalize selected string aus dem Kontextmenü. Hier geben wir wieder einen Schlüssel ein, zum Beispiel Label subject, den Wert können wir so lassen. Und diesmal ist die Option create new properties file nicht selektiert, und wir führen das in dieses Ressourcen Bundle, was wir bereits definiert haben einfach ein. Und so gehen wir nun Schritt für Schritt vor, um die einzelnen Elemente zu ersetzen, und können auf die Art und Weise sukzessive alle feste Verdrahtungen, die wir haben, entfernen. Zu diesem Zweck markieren wir, wie gesagt, immer die entsprechende Stelle, und lassen es dann übernehmen. Das können wir an allen relevanten Stellen machen, und wie Sie sehen, ist das im Zweifelsfall eine reine Fleißarbeit, die wir vornehmen müssen. Wenn wir nun so was stoßen, wie einen kompletten Text, dann können wir ebenfalls mit ihm dieses properties file aufnehmen unter einem entsprechenden Schlüssel und auch hier wird aufgrund der Datenbindung das Sent einmal frei funktionieren. Dieses OutputFormat Element, was wir schon benutzt haben, das benötigen wir lediglich um Formatierungen vorzunehmen, ansonsten ersetzen wir einfach den Text durch den entsprechenden Datenbindungseintrag und übernehmen die Information in das properties File. Und damit sollten wir hier nun alle feste Verdrahtungen erledigt haben und wenn wir die Seiten neu deployen, dann werden wir feststellen, dass das was wir sehen immer noch genau dasselbe ist wie vorher. Aber wir haben den charmanten Vorteil, dass das Ganze nun ausgelagert ist in eine Excel Datei, extern bearbeitet werden kann, und vor allen Dingen auch in den anderen Views gegebenenfalls wieder verwendet werden. Also so etwas wie ein Abbrechen, was wir nun hier ausgelagert haben als label- cancel, ist wunderbar nutzbar auch in anderen Views, und es ersparte uns später dann weitere feste Verdrahtungen mit uns herum zu schleppen. Also wenn wir das hier in den Delete-Seiten dann nutzen wollen, dann haben wir auch zum Beispiel hier ein Abbrechen einfach einfügen, und dann ist das gut. Wenn wir nun hier die Applikation starten und uns dort anmelden, können wir uns durch Klicken, bis auf die entsprechende Seite, das war zum Beispiel diese Nachrichtenseite, und wir sehen, die Seite sieht ganz normal aus. Aber wie gesagt, sie ist halt deutlich besser watchbarer, und alle externen Inhalte sind entsprechend ausgelagert, auch hier sehen wir das geänderte Label, beziehungsweise wir sehen keinen Unterschied zuvorher. In diesem Video haben wir sämtliche feste Verdrahtungen von Texten aus einer View entfernt. Wir haben sie ausgelagert in eine properties Datei. Messages. Properties hieß diese Datei. Wir haben Platzhalter definiert und wir haben das OutputFormat Element benutzt, um den Text mit seinen Platzhältern vor der Ausgabe so zu formatieren, dass diese Platzhalter mit konkreten Werten ersetzt worden sind. Ebenfalls haben wir sämtliche anderen Vorkommnisse von fest verdrahteten Texten aufgelöst und abgelöst und entsprechend extern abgelegt. Auf die Art und Weise können wir diese Texte nun sehr einfach ändern. Das ganze wurde in der faces-config. xml Datei registriert und zwar als ein Message Bundle.

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!