1

我正在尝试将全局错误页面用于 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 的业务逻辑中抛出一些异常时,我希望用户根据我的配置看到错误页面。

但是它不起作用。它仍然在浏览器中显示没有任何内容的相同页面,但在控制台上显示异常堆栈跟踪。

我哪里错了?

4

1 回答 1

1

我认为您的问题与您用来从web.xml引用错误页面的位置有关。

所以,如果在你的位置,我会将我的错误文件放在Web Content目录下并将我的子标签更改为

<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/error.jspx</location>

好吧,我会改用html 页面

于 2013-11-15T14:22:20.063 回答