java在GWT中从属性文件动态加载值
我正在从事基于maven的GWT/MVP4G项目。我在客户端有一个属性文件及其对应的接口,它们都被命名为MyConstants.properties
和MyConstants.java
,并且都放在客户机文件夹中。接口是从i18n库的Constants
类扩展而来的。我通过使用GWT.create(MyConstants.class)
创建属性文件的实例,从该属性文件中获取所需的值。每当我编译并运行代码时,它都运行良好,提供了所需的输出
但我的主要问题是,在创建该项目的war
之后,如果我通过提取war
编辑了该属性文件MyContstants.properties
,并更改了其中的一些内容,则无法访问这些新编辑的更改
因为我必须在项目的MyConstants.properties
文件中进行这些更改,然后在重新编译并再次创建新的war
之后,只有我可以访问编辑的更改。是否有任何方法可以将值动态绑定到该属性文件,这意味着是否有任何方法可以在不重新编译项目的情况下反映这些war更改
请帮助我摆脱这个问题,努力解决它,但无法得到解决方案
# 1 楼答案
在GWT编译期间,
MyConstants.properties
的值被插入到JavaScript代码中。编译应用程序后,可以删除属性文件这就是为什么编译后更改属性文件没有效果
如果要更改属性文件的值,必须选择其他方法
将属性文件存储在服务器上,创建从GWT应用程序到服务器的调用,读取属性文件并将值返回给客户端
在这种情况下,可以在不重新编译应用程序的情况下更改属性文件