我正在尝试将全局错误页面用于 ADF/WebCenter 应用程序中的任何类型的异常。在我的 web.xml 我有这个 -
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/faces/oracle/webcenter/portalapp/pages/error.jspx</location>
</error-page>
在我的页面上,我使用托管 bean 来显示一些值:
<af:outputText value="#{mybean.value}" />
这是示例bean:
public class MyBean {
private String value = null;
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public MyBean() throws MyAppException {
calculateValue();
}
public void calculateValue() throws MyAppException {
try {
// some business logic
} catch (Exception e) {
e.printStackTrace();
throw new MyAppException();
}
setValue(1);
}
}
现在,当我故意在托管 bean 的业务逻辑中抛出一些异常时,我希望用户根据我的配置看到错误页面。
但是它不起作用。它仍然在浏览器中显示没有任何内容的相同页面,但在控制台上显示异常堆栈跟踪。
我哪里错了?