Home-Produkte-Testarea-Kontakt-Datenschutz-Aktualisiert: 29-Jun-2004
< Voriger Tag   Nächster Tag >

Dienstag, 29. Juni 2004

CJSF: Kapitel 6 - Conversion and validation

Im Kapitel 6 geht es rund um die Konvertierung (Ein- und Ausgabe) und Überprüfung der eingegebenen Daten.

Buch: David Geary, Cay Horstmann, "Core JavaServer Faces"

Im Kapitel 6 geht es rund um die Konvertierung (Ein- und Ausgabe) und Überprüfung der eingegebenen Daten. Dabei wird beschrieben welchen Weg die Ein- und Ausgaben durch das JSF-System gehen und wie die Konvertierung und Validierung der Daten zu nutzen ist.

Konverter:

Die Ein- und Ausgaben im HTML-Formular erfolgen als Strings. Die Konverter haben die Aufgabe, diese String-Eingaben in die passenden Typen wie long für eine Ganzzahl oder dem Date-Objekt für ein Datum umzuwandeln. Gleiches gilt für die Ausgabe zur Umwandlung der Typen und Objekte in Strings.

In welchen Format die Datumseingaben möglich sind wird über ein Tag angegeben:

<h:inputText value="#{payment.date}"> 
     <f:convertDateTime pattern="MM/yyyy"/> 
</h:inputText>

Solche Angaben sind auch für die Konvertierung zur Ausgabe möglich. Folgende Angabe sorgt dafür, dass der Wert als Währung mit Währungszeichen sowie einem Trennzeichen für die 1000er Stellen ausgegeben wird.

<h:outputText value="#{payment.amount}"> 
    <f:convertNumber type="currency"/>
</h:outputText>
Als Ausgabe erhält man:
$100,000.00

Validierer:

Die Validierer dienen dazu, die Eingabe auf Korrektheit zu überprüfen, z.B. ob die Datumsangabe einem Datum entspricht oder die Kredikartennr. korrekt ist. Die Daten der Form-Bean werden dabei nur dann aktualisiert wenn die Validierung erfolgreich war, so wird sichergestellt, dass sich die Daten immer in einem korrekten Zustand befinden.

Passende Fehlermeldungen können mit h:message ausgegeben werden. Dabei wird auch gezeigt wie die Standardfehlermeldungen über ein Message-Bundle an die eigenen Bedürfnisse angepasst werden können.

Fertige Validatoren existieren u.a. für die Länge von Eingaben, den erlaubten Zahlenbereich und ob ein Feld angegeben sein muss.

In manchen Fällen ist es notwendig die Validierung zu umgehen, z.B. für den Abbruch einer Eingabe mit einem Cancel-Button, dies lässt sich mit mit dem immediate=true-Attribut realisieren.

Eigene Konverter und Validierer:

In den meisten Fällen reichen die vorhandenen Klassen aus. Für speziellere Fälle kann man eigene schreiben. Dies wird jeweils am Beispiel eines Konverters und Validierers gezeigt. Im Fall eines Konverters müssen in erster Linie folgende zwei Methoden geschrieben werden:

Object getAsObject(FacesContext context, UIComponent component, String newValue) 
String getAsString(FacesContext context, UIComponent component, Object value)

Um für die eigenen Klassen innerhalb der JSF-Seiten eigene Parameter angeben zu können, müssen eigene Tags definiert werden, was am Ende des Kapitels beschrieben wird. Hierbei sind wieder eine ganze Reihe von Dateien beteiligt, die aber hauptsächlich für sich sprechen und daher nicht im Detail beschrieben werden. Stattdessen wird auf den grundlegenden Aufbau und auf einige wichtige Punkte eingegangen auf die man bei der Erstellung achten muss.

[Direktlink]

< Voriger Tag   Nächster Tag >

  RSS V0.91

<Juni 2004 >
 010203040506
07080910111213
14151617181920
21222324252627
282930    

Home-Produkte-Testarea-Kontakt-Datenschutz-Aktualisiert: 29-Jun-2004
(C) 2000-2018 by Sven Drieling