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 のビジネス ロジックで意図的に例外をスローすると、構成に従ってユーザーにエラー ページが表示されることを期待していました。
しかし、それは機能していません。ブラウザにはコンテンツのない同じページが引き続き表示されますが、コンソールには例外スタック トレースが表示されます。
どこが間違っていますか?