我的"Messages.properties"文件中有一个属性,它有一个使用数字格式的参数:
my.message=File exceeds {0,number,0.0}MB.
Run Code Online (Sandbox Code Playgroud)
当我运行gwt:i18n
Maven目标时,它会Messages
根据我的"Messages.properties"文件中的属性生成一个接口(正常情况下):
public interface Messages extends com.google.gwt.i18n.client.Messages {
//...
@DefaultMessage("File exceeds {0,number,0.0}MB.")
@Key("my.message")
String my_message(String arg0);
//...
}
Run Code Online (Sandbox Code Playgroud)
问题是方法参数是a String
.当我运行应用程序时,它给了我一个错误,因为message参数需要一个数字,但是提供了一个String(错误消息是,"Only Number子类可以被格式化为数字").
如何配置Maven让它将此参数更改为数字(如a float
或Number
)?谢谢.
鉴于上述讨论,我决定补充我之前的答案。首先,据我所知,您无法使用现有的 i18n Maven 目标(以及 GWT 的 I18NCreator)来执行所要求的操作。其次,在对我建议的生成器解决方案进行更多研究后,我发现:
就我个人而言,我只会编写和维护我的属性文件以及手动镜像它的界面。生成器将始终查看属性文件并生成与属性相对应的方法(根据实际消息使用所需的任何参数),因此如果您编写的接口反映了属性文件,则生成器生成的类将始终正确实施。
归档时间: |
|
查看次数: |
1162 次 |
最近记录: |