You can override the doDML method and get the changes before call super.doDML();
Code with example:
@Override
protected void doDML(int operation, TransactionEvent event) {
if (operation == DML_UPDATE) {
final String ORDER_ID = "OrderId";
// get posted value of OrderId attribute
// this method is to get the old value before change
Object oldOrderId = getPostedAttribute(this.getAttributeIndexOf(ORDER_ID));
// get value of OrderId after change
Object newOrderId = this.getAttribute(ORDER_ID);
// compare and take some action based on the results of comparison
if (newOrderId != null && newOrderId.equals(oldOrderId)) {
//do sth. here
//System.out.println("Order Id changed from " + oldOrdreId + " to " + newOrderId);
}
// finally calling super.doDML()
super.doDML(operation, event);
}
}
本文介绍如何在特定框架中覆写doDML方法来获取数据更改前后的内容。通过覆写此方法,可以捕获订单ID变更的情况,并根据需要采取相应措施。最后调用super.doDML()确保其他业务逻辑正常执行。
602

被折叠的 条评论
为什么被折叠?



