GWT:获取服务器端的常量



我正在尝试将常量(ConstantsWithLookup)存储在服务器端的客户端中,但它无法弄清楚如何做到这一点。我的常量接口和常量属性位于同一文件夹中。

我尝试过其他类似线程的提示,但没有成功。

我尝试了Hermes,gwt-i18n-server,gwt-dmesg,GTWI18N,使用ResourceBundle,试图获取源文件属性。

对于前两个,似乎主要原因是对最新GWT版本的过时支持。至于资源包,它找不到属性文件,因为在部署时,没有属性文件,只有一个常量.class。

我试图避免将我的属性文件更改为另一个位置(如/WEB-INF/constants)。

我正在使用带有GWT 2.5.0.rc1的爱马仕,它工作正常。用法:

  • 把Hermes-1.2.0.jar投入战争/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 和属性文件。在这种情况下,请将常量文件放在"共享"包中(如果有的话)。

最新更新