我正在开发基于maven的GWT / MVP4G项目。我在客户端有一个属性文件及其相应的接口,两者都命名为MyConstants.properties
和MyConstants.java
,两者都放在客户端文件夹中。接口从Constants
类的i18n库扩展而来。我通过使用GWT.create(MyConstants.class)
创建其实例来从该属性文件中获取所需的值。每当我编译并运行代码时,它工作正常,给我所需的输出。
但我的主要问题是,在创建该项目的war
后,如果我通过解压缩MyContstants.properties
并更改了其中的某些内容来编辑该属性文件war
,则无法访问那些新编辑的变化。
因为我必须在项目的MyConstants.properties
文件中进行这些更改,然后在重新编译并再次创建新的war
后,我只能访问已编辑的更改。有没有办法动态地将值绑定到该属性文件,意味着有什么办法没有重新编译项目我可以反映那些战争变化吗?
请帮助我摆脱这个问题,继续努力,但无法得到解决方案。
答案 0 :(得分:3)
在GWT编译期间,MyConstants.properties
的值被插入到JavaScript代码中。编译应用程序后,可以删除属性文件。
这就是编译后更改属性文件无效的原因。
.properties
个文件只是编译过程中使用的中间文件。
如果要更改属性文件的值,则必须选择其他方法。
将您的属性文件存储在服务器上,创建从GWT应用程序到服务器的调用,读取属性文件并将值返回给客户端。
在这种情况下,无需重新编译应用程序即可对属性文件进行更改。