常量之类的 GWT 接口
GWT interface like Constants
在我的应用程序中,我需要使用动态本地化,所以我不能使用常量接口。我确实使用了一段时间的常量,但现在我需要在不编译的情况下更改文本,所以我不得不找到其他方法。
所以我现在正在使用字典。问题是,当我现在想在 UiBinder 中使用文本时,我只能使用不带参数的方法。所以我创建了 class "StringIdentifiers" ,其中我使用了与之前在 MyConstants 中相同的方法,但我必须在此处为每个方法指定一个主体以 return 指定的 String.
例如我有:
Dictionary locale = Dictionary.getDictionary("myJsObjectWithStrings");
//and then the methods for returning the actual strings from the JS object
String loading(){
return locale.get("loading");
}
我只希望该方法是
String loading();
因为其余部分始终与在 get() 方法中作为 String 参数出现的方法名称相同。当 JS 对象中缺少字符串时,甚至可能 returning 一些默认值。但我不知道该怎么做。我检查了 Constants 接口,但我并不真正理解那里的代码。有人可以给我一个如何实现这样的例子吗?
GWT 中没有执行此操作的标准功能,但您可以自己创建一个。这有点牵强,但它应该通过使用 GWT 生成器机制来工作。在全球范围内,它应该按如下方式工作:
- 使用方法名称创建接口(比如
MyMessages
)。
- 要使用它,请使用
MyMessages message = GWT.create(MyMessages.class)
。在你需要文本 message.loading()
. 的地方
- 创建一个生成器,生成一个 class 实现接口。这个 class 将在编译时创建,并且应该包含接口方法的实现,就像在您的示例中一样。
- 在您的
gwt.xml
文件中添加一个 generate-with 标签以使其工作。
这是一个简短的解释,但希望对您有所帮助。有关生成器的更多背景信息,请参阅:What is the use GWT generator? or http://blog.arcbees.com/2015/05/26/how-to-write-gwt-generators-efficiently/
您甚至可以重复使用 GWT 的一些 i18n 注释来添加例如默认文本。将注释添加到您的界面,并在生成器中扫描注释并在代码生成部分使用它。
在我的应用程序中,我需要使用动态本地化,所以我不能使用常量接口。我确实使用了一段时间的常量,但现在我需要在不编译的情况下更改文本,所以我不得不找到其他方法。
所以我现在正在使用字典。问题是,当我现在想在 UiBinder 中使用文本时,我只能使用不带参数的方法。所以我创建了 class "StringIdentifiers" ,其中我使用了与之前在 MyConstants 中相同的方法,但我必须在此处为每个方法指定一个主体以 return 指定的 String.
例如我有:
Dictionary locale = Dictionary.getDictionary("myJsObjectWithStrings");
//and then the methods for returning the actual strings from the JS object
String loading(){
return locale.get("loading");
}
我只希望该方法是
String loading();
因为其余部分始终与在 get() 方法中作为 String 参数出现的方法名称相同。当 JS 对象中缺少字符串时,甚至可能 returning 一些默认值。但我不知道该怎么做。我检查了 Constants 接口,但我并不真正理解那里的代码。有人可以给我一个如何实现这样的例子吗?
GWT 中没有执行此操作的标准功能,但您可以自己创建一个。这有点牵强,但它应该通过使用 GWT 生成器机制来工作。在全球范围内,它应该按如下方式工作:
- 使用方法名称创建接口(比如
MyMessages
)。 - 要使用它,请使用
MyMessages message = GWT.create(MyMessages.class)
。在你需要文本message.loading()
. 的地方
- 创建一个生成器,生成一个 class 实现接口。这个 class 将在编译时创建,并且应该包含接口方法的实现,就像在您的示例中一样。
- 在您的
gwt.xml
文件中添加一个 generate-with 标签以使其工作。
这是一个简短的解释,但希望对您有所帮助。有关生成器的更多背景信息,请参阅:What is the use GWT generator? or http://blog.arcbees.com/2015/05/26/how-to-write-gwt-generators-efficiently/
您甚至可以重复使用 GWT 的一些 i18n 注释来添加例如默认文本。将注释添加到您的界面,并在生成器中扫描注释并在代码生成部分使用它。