好的,我正在构建GWT应用程序,我正在使用Hermes来管理服务器端的constants
。
这是我做的:
我创建了MyConstantsWithLookup.properties
(默认英文版)& MyConstantsWithLookup_de.properties
(德文版)&客户端软件包中的MyConstantsWithLookup.java
-MyConstantsWithLookup.properties有
ID = 1245
-MyConstantsWithLookup_de.properties
ID = 4556
-MyConstantsWithLookup.java
public interface MyConstantsWithLookup extends ConstantsWithLookup {
int id();
}
Server包中有Data.java
。 Data.java
已
public static int id(){
try {
MyConstantsWithLookup myConstantsWithLookup = Hermes.get(MyConstantsWithLookup.class, "");
return myConstantsWithLookup.id();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "";
}
好的,如果我用英语打开页面,它可以正常工作。例如,myDomain.com
它会正确显示id=1245
。但是,如果我用德语myDomain.com?locale=de
打开页面,那么它就不会选择id=4556
但仍使用旧ID。
我在这里做错了吗?
如何解决?
答案 0 :(得分:0)
找到了使用MyConstants的解决方案
在客户端,
public interface MyConstants extends ConstantsWithLookup{
String id();
}
MyConstants_de.properties
ID = 2121
MyConstants.properties
ID = 4545
在服务器
中MyConstants myConstants = Hermes.get(MyConstants.class, "");
myConstants.id(); //will print id=4545
MyConstants myConstants = Hermes.get(MyConstants.class, "de");
myConstants.id(); //will print id=2121