开发环境:JDevloper 11.1.2.2.0+ Oracle Database 10g Express Edition 10.2.0.1。
本实验接着上一个实验,由于使用Method Activity 绑定抛出异常的方法,ADF会在页面直接抛出异常,用户友好性较差,因此需要开发人员编写异常处理逻辑。
我将定义一个Task Flow Template,并在其中定义一个Exception Handler,然后让其它BTF继承该TaskFlow Template。
重要步骤说明:
1. 新建一个ADF TaskFlow Template:error-handler-task-flow
(1)拖放一个Method Activity,并Mark为Exception Handler。
(2)Method Activity指向Managed Bean中的方法:controllerExceptionHandler
public void controllerExceptionHandler() { System.out.println("######################## controllerExceptionHandler "); ControllerContext context = ControllerContext.getInstance(); ViewPortContext currentRootViewPort = context.getCurrentRootViewPort(); Exception exceptionData = currentRootViewPort.getExceptionData(); if (currentRootViewPort.isExceptio