有的时候我们会在VO或Application module的实现类中定义一些业务方法以供调用,而调用这些业务方法的方式一般都二种:
a:访问实现类,和普通的类方法调用一样;
b:把业务方法发布到UI,然后绑定到page的定义文件上
.
那么,假设是在manageBean中,使用哪种方法才是合理的呢?我们知道,ADF在View和control中间有一层绑定机制,所有的业务通过绑定给view访问,所以如果我们直接用类方法访问业务方法其实是违背了ADF的分离原则,是不推荐使用的.
如下代码,访问一个有参数的业务方法:
BindingContext bctx = BindingContext.getCurrent();
BindingContainer bindings = bctx.getCurrentBindingsEntry();
OperationBinding operationBinding =
bindings.getOperationBinding("name_of_method_binding");
//optional
operationBinding.getParamsMap().put("argumentName1",value1);
operationBinding.getParamsMap().put("argumentName2",value2);
operationBinding.execute();
if (!operationBinding.getErrors().isEmpty()) {
List errors = operationBinding.getErrors();
...
}
//返回结果(可选)
Object methodReturnValue = operationBinding.getResult();