因此,我正在尝试在应用程序中修改一些VO绑定变量。当前,我正在使用executeQueryForCollection()来拦截和修改我的变量。另外,我可以通过使用VariableValueManager()来做同样的事情。
我在此网站http://www.awasthiashish.com/2015/01/setting-view-object-bind-variable-override-bindparametersforcollection-preparerowsetforquery-executequeryforcollection.html上找到了一篇文章,该文章提供了简短的解释,但未提及使用VariableValueManager()的任何内容。
我想知道是否有人知道在执行查询之前拦截和修改绑定变量的最佳方法是什么?预先谢谢你!
答案 0 :(得分:0)
如前所述,如果要在使用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);
}
}