2010-12-29 9 views
3

Ich arbeite an einer GWT-Anwendung, und wir führten eine Money-Klasse ein, die eine java.util.Currency enthält. Das einzige Problem ist, dass GWT diese Klasse nicht zu unterstützen scheint.Wie kann ich java.util.Currency in GWT verwenden?

Ich habe eine Google-Suche und fand this code in der GWT-Quellcode, aber ich bin nicht ganz sicher, was die "jat numberformat-r2942" -Bibliothek ist, oder wie es in mein Projekt erben. Hat jemand diese GWT-Bibliothek erfolgreich nutzen können? Wenn nicht, was ist der beste Weg, mit Währungen in einer GWT-Anwendung umzugehen?

Sollte ich nur die Währung als eine Zeichenfolge auf der Clientseite erfassen, dann erstellen Sie ein Währungsobjekt auf der Serverseite? Wir versuchen, die GWT-dispatch library zu verwenden, also möchte ich die gleiche Bean auf der Client- und Serverseite verwenden.

Antwort

1

jat/numberformat-r2942 ist keine separate Bibliothek, die über eine JAR-Datei eingebunden werden kann. Es sieht so aus, als ob das Verzeichnis changes im GWT-Quellen-Repository ein Ort sein könnte, an dem Zweigstellen von einzelnen Benutzern mit möglichen zukünftigen Hinzufügungen zur Mainline-GWT-Quelle gespeichert werden können.

Wenn Sie diese Implementierung der Währung verwenden möchten (die fehlerhaft und/oder unvollständig sein kann), ist es am besten, sie in Ihren Quellbaum zu kopieren (Ändern der Pakete für alle notwendigen Klassen) und <super-source> als Peter zu verwenden schlägt vor.

+0

OK, ich sehe, danke. Ich habe es ausprobiert und es hat funktioniert, obwohl meine IDE nicht glücklich darüber war, eine Klasse mit dem Paket java.util im com/xxx/jre/java/util Pfad zu haben. Ich habe mein eigenes Währungswertobjekt und eine Client- und Serverfabrik erstellt, mit der ich die Währungen nach ISO 4217-Codes nachschlagen kann. –

2

Sie können <super-source> verwenden, um alle nicht übersetzbaren Klassen durch Ihre Version zu ersetzen.

Werfen Sie einen Blick auf http://code.google.com/webtoolkit/doc/1.6/DevGuideOrganizingProjects.html, suchen Sie nach "Überschreibe eine Paket-Implementierung mit einer anderen".

OTOH, wenn Sie nur dieses Objekt über GWT-RPC übertragen müssen, dann verwenden Sie die neue RequestFactory, die dieses Problem vollständig löst - es gibt keine gemeinsamen Klassen auf Server und Client, stattdessen werden Proxies verwendet.

+0

Ich verstehe, dass ich nicht übersetzbare Klassen überschreiben kann, aber wie erben ich diese bestimmte Bibliothek, so dass ich den Code nicht selbst umschreiben muss? Es scheint nicht wie sein Teil der standardisierten emulierten Klasse von Klassen zu sein. Ich sehe keine Hinweise auf ein "JAT" -Glas. –