GWT:在服务器端获取常量

时间:2012-10-03 18:07:40

标签: gwt properties constants

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

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

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

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

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

1 个答案:

答案 0 :(得分: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和属性文件。在这种情况下,将常量文件放在“共享”包中(如果有的话)。