In my project I have to display a error page when specific errors occurs in my code.
I have added the following script in my header.xhtml page.This page is added to each and every page.So whenever error occurs I want to display error page.
<script type="text/javascript">
A4J.AJAX.onExpired = function(loc, expiredMsg) {
window.location = "../facelets/error/invalidSessionLogin.jsf";
};
A4J.AJAX.onError = function(req, status, message) {
window.location = "../facelets/error/ajaxError.jsf";
};
</script>
but this is not working..
And I also configure for 500,404 error in web.xml.The code is as follows.
<context-param>
<description>Use this to suppress Facelets error page</description>
<param-name>org.apache.myfaces.ERROR_HANDLING</param-name>
<param-value>false</param-value>
</context-param>
<error-page>
<error-code>500</error-code>
<location>/facelets/error/internalErrorHome.jsf</location>
</error-page>
<!-- if required page not available -->
<error-page>
<error-code>404</error-code>
<location>/facelets/error/pageNotFoundErrorHome.jsf</location>
</error-page>
But this gives me following error.
11:41:30,618 ERROR [[localhost]] Exception Processing ErrorPage[errorCode=404, location=/facelets/error/pageNotFoundErrorHome.jsf]
com.sun.faces.context.FacesFileNotFoundException: /facelets/error/pageNotFoundErrorHome.xhtml Not Found in ExternalContext as a Resource
I don't know where I am going to wrong.. I don't get it the error Not Found in ExternalContext as a Resource
You should test whether the path you have mentioned is reachable or not, and firstly fix the paths if they are not working.
Why don't you create a navigation case for these error codes and then instead of using relative paths, set the appropriate urls.
window.location = "${request.contextpath}/error/404";
Consider for example:
mywebapp
|
|---WEB-INF
|
|---error
| |
| |---404.xhtml
(and so on)
In web.xml:
<error-page>
<error-code>404</error-code>
<location>/error/404.xhtml</location>
</error-page>
and similarily for 500 error-code.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With