所以,我试图在我的应用程序中修改一些VO绑定变量。目前,我正在使用executeQueryForCollection()来拦截和修改我的变量。另外,我可以通过使用VariableValueManager()来做同样的事情。
我在这个网站http://www.awasthiashish.com/2015/01/setting-view-object-bind-variable-override-bindparametersforcollection-preparerowsetforquery-executequeryforcollection.html上发现了一篇文章,提供了一个简短的解释,但它没有说明使用VariableValueManager()。
我想知道有谁知道在执行查询之前拦截和修改绑定变量的最佳方法是什么?先感谢您!
如果您想在控制器中以编程方式执行此操作,然后使用变量值管理器向您的模型发送请求,如您所述,这是正确的方法。
您可以使用如下的实用函数:
public static void setBindVariableValueToViewObjectBindVariable(ViewObject vo, String bindVarName, Object bindVarValue) {
if (vo != null && bindVarName != null && bindVarValue != null) {
VariableValueManager vm = vo.ensureVariableManager();
vm.setVariableValue(bindVarName, bindVarValue);
}
}