我们正在尝试使用 GWT 构建一个 GUI 框架。我们发现很难在框架中实现取消功能。
所需的功能是:
我们有 CRUD 屏幕,其中包含弹出窗口、网格等。当用户更改 GUI 中的任何内容然后单击 cancel() 时,他应该会收到一条通知消息,说明某些内容已更改。
我们尝试过的方法:
目前,我们正在尝试保留整个 pojo 对象的键与值的哈希图,并尝试将其与随着用户更改某些内容而更新的模型进行比较。但这会在每个 pojo 中添加大量不需要的代码,并且当用户直接从后端添加数据时无法按预期工作。
有没有什么优雅的方法可以实现这个功能?请注意*我们没有在我们的应用程序中使用 GWT 的编辑器框架 * (https://developers.google.com/web-toolkit/doc/latest/DevGuideUiEditors)。
示例:假设我有一个像这样的 pojo:
public class Person {
List<Address> address;
PhoneNumber phoneData;
// and so on along with getters and setters
}
我将如何为此编写通用克隆方法?即使我设法以某种方式做到这一点,也会导致每个 pojo 中出现大量代码(我们的应用程序有数百个),这看起来并不正确。
请注意,只要在 GUI 中更改某些内容以实现实时绑定,我们的 pojo 就会立即更新。