我正在使用 wicket 作为客户端服务器和远程服务器,我与远程服务器的 API 是
updateEntites(Object... Entities,Class clazz,Map propertiesWhichHaveChanged).
我的问题是如何推断哪些 pojos 、 wicket 模型属性已更改以通知模型:这是我要检查的属性
10倍
我正在使用 wicket 作为客户端服务器和远程服务器,我与远程服务器的 API 是
updateEntites(Object... Entities,Class clazz,Map propertiesWhichHaveChanged).
我的问题是如何推断哪些 pojos 、 wicket 模型属性已更改以通知模型:这是我要检查的属性
10倍
如果我理解您的问题:您有一个表单,并且您想知道表单提交后哪些属性或哪些属性发生了变化?
没有简单的方法来通知这一点。甚至大部分 FormComponent 都使用 updateModel 和 setModelObject inc。modelChanged 方法,它不仅仅是了解模型真正改变了什么的方法。最后,在大多数情况下,模型负责对象访问,特别是如果您使用 CompoundPropertyModel 或您使用自己的模型。此外,Wicket 在更改值和用相同值替换属性之间没有区别。
有时我需要解决类似的问题。甚至我宁愿使用哈希算法来比较对象以了解对象是否真的被改变了。此外,Form 上的 onSubmit 或 onError 方法只是通知表单提交,您可以比较模型对象的先前版本。