问题描述
对于没有绑定 bean 的绑定器,一旦绑定字段发生更改,hasChange()
方法就会返回 true
。但是在更改恢复后它仍然是 true
。因此,我正在寻找类似 isEqualToInitialState()
的东西,以便仅为真正的更改启用保存按钮。
是否有符合我意图的最佳实践?我也没有看到像 hasChangesComparedTo(Bean bean)
这样的方法。
解决方法
CREATE TABLE table_name ( id,content ) AS
SELECT 1,'1|1232' FROM DUAL UNION ALL
SELECT 2,'23|12323' FROM DUAL UNION ALL
SELECT 3,'33|233223' FROM DUAL;
只是一个“愚蠢”的跟踪器,无论是否有任何值
改变了。它没有“先前或原始值”的概念。
如果你想比较binder和原始bean的状态, 你必须自己做:
- (可选):向你的 bean 添加一个适当的 equals 方法,所以 比较容易处理
- 保留原始值/bean并在活页夹中设置一个副本(例如使用
Binder.hasChange
然后readBean(orig)
将数据导入 一个新鲜的对象) - 比较原件和副本,然后做出相应的反应