GWT:在服务器端获取常量

Sek*_*edi 5 gwt properties constants

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

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

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

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

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

Chr*_*her 9

我正在使用带有GWT 2.5.0.rc1的Hermes,它运行正常.用法:

  • 将hermes-1.2.0.jar放入war/WEB-INF/lib
  • 然后在服务器端写下类似的东西
MyConstantsWithLookup my = Hermes.get(MyConstantsWithLookup.class, "de");
String string = my.getString(key);
Run Code Online (Sandbox Code Playgroud)
  • 属性文件MyConstantsWithLookup.properties 必须存在于同一个包中MyConstantsWithLookup.java,即使该属性文件为空(如果您使用@DefaultStringValue等,可能就是这种情况)
  • 还添加MyConstantsWithLookup_de.properties
  • 确保在编译时将这些属性文件复制到类的旁边.Javac不这样做,所以它必须在一个额外的构建步骤中完成(Eclipse通常会自动执行此操作,但是当您使用Ant构建时,它本身不会发生)
  • 在编译服务器端时,许多构建设置将跳过"客户端"包中的java和属性文件.在这种情况下,将常量文件放在"共享"包中(如果有的话).