5

サーバー側のクライアント側に格納されている定数 (ConstantsWithLookup) を取得しようとしていますが、その方法がわかりません。定数インターフェイスと定数プロパティが同じフォルダーにあります。

他の同様のスレッドのヒントを試しましたが、成功しませんでした。

ResourceBundle を使用して Hermes、gwt-i18n-server、gwt-dmesg、GTWI18N を試し、ソース ファイルのプロパティを取得しようとしました。

最初の 2 つは、最新の GWT バージョンのサポートが古いことが主な理由のようです。ResourceBundle については、配置時にプロパティ ファイルがなく、Constants.class だけがあるため、プロパティ ファイルが見つかりません。

プロパティ ファイルを別の場所 (/WEB-INF/constants など) に変更しないようにしています。

4

1 に答える 1

9

Hermesを GWT 2.5.0.rc1 で使用していますが、問題なく動作します。使用法:

  • hermes-1.2.0.jar を war/WEB-INF/lib に入れます
  • 次に、サーバー側で次のように記述します
MyConstantsWithLookup my = Hermes.get(MyConstantsWithLookup.class, "de");
String string = my.getString(key);
  • プロパティファイルが空の場合でも、プロパティ ファイルはと同じパッケージに存在するMyConstantsWithLookup.properties 必要MyConstantsWithLookup.javaがあります (@DefaultStringValue などを使用している場合に該当する可能性があります)。
  • MyConstantsWithLookup_de.propertiesなども追加。
  • コンパイル時に、これらのプロパティ ファイルがクラスの横にコピーされていることを確認してください。Javac はそれを行わないため、追加のビルド ステップで行う必要があります (Eclipse は通常これを自動的に行いますが、Ant などでビルドする場合は単独では行われません)。
  • 多くのビルド セットアップでは、サーバー側をコンパイルするときに「クライアント」パッケージから Java およびプロパティ ファイルをスキップします。その場合、定数ファイルを「共有」パッケージに入れます (ある場合)。
于 2012-10-03T19:56:18.630 に答える