在GWT项目中使用常量接口



我还没有在GWT中使用Constants接口,并且我在运行示例CellTable时遇到问题。延迟绑定失败,中心错误消息为:"未找到contactDataBaseCategories的资源"。contactDataBaseCategories是在接口DataBaseConstants中定义的方法,并返回字符串数组。我怀疑我必须创建一个属性(txt?)文件来定义类别,但我不确定,因为我是第一次遇到这种情况。如何正确地运行CellTable的示例?

更新:我在声明接口的同一个包中创建了ContactDatabase.DatabaseConstants.properties文件,我在文件中添加了行:

contactDataBaseCategories=好友,coWorkers,其他

但它仍然不起作用。错误再次出现:"找不到contactDataBaseCategories的资源",然后是

"com.al.celltablöeeexample.ContactDatabase.DatabaseConstants的延迟绑定失败".

出了什么问题?

就是这样做的

常量接口

public interface DataBaseConstants extends Constants
{
    @Key("contact-database-categories")
    String contactDataBaseCategories();
}

属性文件。DataBaseConstants.properties

contact-database-categories = "Your String"

你可以使用

public DataBaseConstants dbConstant= GWT.create( DataBaseConstants .class );
dbConstant.contactDataBaseCategories();

已编辑如果你想传递字符串数组,那么你可以这样做

@DefaultStringArrayValue({"cat1", "cat2", "cat3", "cat4", "cat5"})
  String[] contactDataBaseCategories();

有关常数的更多信息

我终于管理好了。问题是它找不到资源/文件:ContactDatabase.DatabaseConstants.properties。我已经将它更改为DatabaseConstants.properties,并将内部接口删除到它自己的文件中。与我在CwCellTable类中在接口CwConstants上所做的相同。此外,在示例页面中,CwConstants接口的实例化被遗漏,必须(在构造函数中)也这样做,就像在ContactDatabase类中一样。

只需添加到Dilandha的答案中,就可以设置

contact-database-categories = Family, Friends, Coworkers, Businesses, Contacts

以符合该示例。

提示:为了使示例工作,在CwCellList中创建一个成本构造器,并添加以下内容:

initWidget(onInitialize());

最新更新