Ajax für Java mit Direct Web Remoting

Der DWR-Zugriff von TasksSession wird auf dieselbe Weise in dwr.xml konfiguriert wie oben bei Adder, so dass das Objekt beim Start der Browser-Session mit dem Server erzeugt wird:

Die Methoden von TasksSession erwarten Task-Objekte oder geben solche zurück, welche wiederum enum-Werte (Priority) enthalten. Damit DWR diese übersetzen kann, muss man zuerst die Konvertierung zulassen und dann angeben, wie die Werte konvertiert werden sollen. In der Datei dwr.xml kann man innerhalb des Abschnitts -Elemente wie die folgenden einfügen:

Diese haben zwei Attribute: converter und match Das Attribut converter gibt an, welche Konvertierungsmethode verwendet werden soll. Die Angabe „bean“ bedeutet, dass der allgemeine Java-Bean-Konverter zum Einsatz kommt, die Angabe „enum“ verweist auf einen speziellen enum-Konverter. Das Attribut match gibt den Klassennamen an, der bei der Konvertierung übereinstimmen muss. DWR bringt standardmäßig Konverter mit, die für primitive Datentypen registriert sind (int, boolean und so weiter), für ihre klassenbasierten Versionen (Integer, Boolean und so fort), Strings, Daten, Arrays aller Vorgenannten und schließlich DOM-Objekte. Man muss nur Konverter für Klassen angeben, die nicht in dieser Liste enthalten sind.

Die SortOrder-Klasse definierte eine inner enum (TaskField). Daher muss man einen enum-Konverter für das TaskField hinzufügen, obwohl für SortOrder ein bean-Konverter angegeben ist. Man beachte das $ im match-Wert.

Um diese Zugriffsweise nutzen zu können, muss man in der HTML-Seite (dwrfrontend.html) nur Folgendes festlegen:

Um die Konverter muss man sich nicht kümmern, diese werden automatisch aufgerufen.

Die HTML-Seite enthält eine Tabelle und ein Formular. Die Tabelle selber enthält keine Zeilen und das Formular hat keinen submit-Button. Wenn die Seite geladen wird, sorgt die Funktion init dafür, dass das Formular gelöscht wird, und zwar mit einer der Utility-Funktionen von DWR, setValues:

DWRUtil.setValues nimmt das übergebene assoziative Array, sucht für jedes Schlüssel-Wert-Paar das HTML-Element mit derselben ID wie der Schlüssel und setzt dessen Inhalt auf den übergebenen Wert. Auf diese Weise lassen sich Werte leicht auf einen Rutsch setzen. Das <form>-Element in der Seite sieht so aus:

Page: 1 2 3 4 5

ZDNet.de Redaktion

Recent Posts

EU-Datenschützer kritisieren Facebooks „Zustimmung oder Bezahlung“-Modell

Ohne eine kostenlose Alternative, die ohne Zustimmung zur Verarbeitung personenbezogener Daten zu Werbezwecken auskommt, ist…

1 Woche ago

Europol meldet Zerschlagung der Phishing-as-a-Service-Plattform LabHost

LabHost gilt als einer der größten Phishing-Dienstleister weltweit. Die Ermittler verhaften 37 Verdächtige, darunter der…

1 Woche ago

DE-CIX Frankfurt bricht Schallmauer von 17 Terabit Datendurchsatz pro Sekunde

Neuer Datendurchsatz-Rekord an Europas größtem Internetknoten parallel zum Champions-League-Viertelfinale.

1 Woche ago

Samsungs neuer LPDDR5X-DRAM erreicht 10,7 Gbit/s

Die neuen Chips bieten bis zu 25 Prozent mehr Leistung. Samsung steigert auch die Energieeffizienz…

1 Woche ago

Cisco warnt vor massenhaften Brute-Force-Angriffen auf VPNs

Betroffen sind Lösungen von Cisco, Fortinet, SonicWall und anderen Anbietern. Die Hacker nehmen Konten mit…

1 Woche ago

Cybersicherheit in KMUs: Es herrscht oft Aufholbedarf

Immer häufiger müssen sich Betriebe gegen Online-Gefahren wehren. Vor allem in KMUs werden oft noch…

1 Woche ago