gpt4 book ai didi

java - 是否可以在 GWT i18n 中重载消息方法

转载 作者:搜寻专家 更新时间:2023-10-31 20:15:35 24 4
gpt4 key购买 nike

我有一个可本地化的 GWT 项目的 com.google.gwt.i18n.client.Messages 实现。

但似乎无法重载方法。是Bug还是有什么原因?

public interface CommonMessages extends Messages {

public static final CommonMessages INSTANCE = GWT.create( CommonMessages.class );

@DefaultMessage( "The entered text \"{0}\" contains the illegal character(s) \"{1}\" ." )
String textValidatorError( String o, String e );

@DefaultMessage( "The entered text \"{0}\" contains illegal character(s)." )
String textValidatorError( String o );
}

提出:

        Rebinding common.client.i18n.CommonMessages
[java] Invoking generator com.google.gwt.i18n.rebind.LocalizableGenerator
[java] Processing interface common.client.i18n.CommonMessages
[java] Generating method body for textValidatorError()
[java] [ERROR] Argument 1 beyond range of arguments: The entered text "{0}" contains the illegal character(s) "{1}" .

最佳答案

您的消息界面依赖于一个属性文件。因为您的接口(interface)具有使用相同名称的方法,所以 gwt 会尝试在同一个文件中查找属性 textValidatorError 两次。它第一次寻找具有 2 个参数的属性,并找到了它。第二次它正在寻找具有 1 个参数的属性,并找到一个具有两个参数的属性...因此出现错误。

使用@Key注解指定不同的属性名。

public interface CommonMessages extends Messages {

public static final CommonMessages INSTANCE = GWT.create( CommonMessages.class );

@DefaultMessage( "The entered text \"{0}\" contains the illegal character(s) \"{1}\" ." )
String textValidatorError( String o, String e );

@DefaultMessage( "The entered text \"{0}\" contains illegal character(s)." )
@Key("textValidatorErrorAlternate")
String textValidatorError( String o );
}

关于java - 是否可以在 GWT i18n 中重载消息方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6291829/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com