在GWT中动态加载属性文件中的值

时间:2016-06-27 10:39:22

标签: java maven gwt properties mvp4g

我正在开发基于maven的GWT / MVP4G项目。我在客户端有一个属性文件及其相应的接口,两者都命名为MyConstants.propertiesMyConstants.java,两者都放在客户端文件夹中。接口从Constants类的i18n库扩展而来。我通过使用GWT.create(MyConstants.class)创建其实例来从该属性文件中获取所需的值。每当我编译并运行代码时,它工作正常,给我所需的输出。

但我的主要问题是,在创建该项目的war后,如果我通过解压缩MyContstants.properties并更改了其中的某些内容来编辑该属性文件war,则无法访问那些新编辑的变化。

因为我必须在项目的MyConstants.properties文件中进行这些更改,然后在重新编译并再次创建新的war后,我只能访问已编辑的更改。有没有办法动态地将值绑定到该属性文件,意味着有什么办法没有重新编译项目我可以反映那些战争变化吗?

请帮助我摆脱这个问题,继续努力,但无法得到解决方案。

1 个答案:

答案 0 :(得分:3)

在GWT编译期间,MyConstants.properties的值被插入到JavaScript代码中。编译应用程序后,可以删除属性文件。

这就是编译后更改属性文件无效的原因。

  

.properties个文件只是编译过程中使用的中间文件。

如果要更改属性文件的值,则必须选择其他方法。

将您的属性文件存储在服务器上,创建从GWT应用程序到服务器的调用,读取属性文件并将值返回给客户端。

在这种情况下,无需重新编译应用程序即可对属性文件进行更改。