我现在正在将应用程序从GXT 2迁移到GXT 3。
两者之间的主要区别之一是GXT 3.x允许在小部件中使用POJO,而GXT 2.x小部件需要实现ModelData的对象。
问题在于我不能简单地抛弃所有ModelData对象并使用POJO,因为ModelData对象包含许多其他属性,这些属性仅与GUI相关。
因此,这些属性不能放置到POJO(真实的应用程序模型)。
最有可能的是,我将最终构建自己的ModelData接口和一组要在窗口小部件中使用的对象。这看起来有点难看,非GXT3风格。
有没有其他方法可以解决这样的问题?或者也许有人已经面对过它?任何建议都非常感谢。
答案 0 :(得分:0)
与Chris Phillipson的建议类似,您可以使用客户端变体为POJO创建子类,以添加其他字段,例如:你有一个名为MyPojo的课程:
class MyPojo {
private String name;
private String address;
...
}
在客户端上你有子类:
class MyClientPojo extends MyPojo {
private String additionalInfo;
...
}
答案 1 :(得分:0)
我的建议是创建一个自己的YourModelData类来包装YourModel类并添加显示所需的其他属性(我建议不要为此目的进行子类化,因为ModelData 没有YourModel,只有 一个)。没有什么可以阻止你使用ModelData,但你不再需要。