Bonjour,
Petite question sur les error page jsp: y a-t-il moyen de vraiment rediriger vers une nouvelle page ?
Je m'explique, voici le code utilisé:
web.xml
page exception.jsp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <error-page> <location>/exception.jsp</location> </error-page>
page provoquant l'erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@page isErrorPage="true" %> <html> <head> <title>Show Error Page</title> </head> <body> <h1>Opps...</h1> <table width="100%" border="1"> <tr valign="top"> <td width="40%"><b>Error:</b></td> <td>${pageContext.exception}</td> </tr> <tr valign="top"> <td><b>URI:</b></td> <td>${pageContext.errorData.requestURI}</td> </tr> <tr valign="top"> <td><b>Status code:</b></td> <td>${pageContext.errorData.statusCode}</td> </tr> <tr valign="top"> <td><b>Stack trace:</b></td> <td> <c:forEach var="trace" items="${pageContext.exception.stackTrace}"> <p>${trace}</p> </c:forEach> </td> </tr> </table> </body> </html>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 <%@ page errorPage="ShowError.jsp" %> <html> <head> <title>Error Handling Example</title> </head> <body> <div>TOTO TITI TATA</div> <% // Throw an exception to invoke the error page int x = 1; if (x == 1) { throw new RuntimeException("Error condition!!!"); } %> </body> </html>
Si on va sur la page provoquant l'erreur, nous avons bien le contenu de exception.jsp qui s'affiche, MAIS......il s'affiche "par dessus" la page principale
Autrement dit, nous allons voir le div TOTO TITI TATA avec à côté la page d'exception
Petit screenshots qui expliqueront un peu mieux!
Voici ce que j'obtiens:
http://hpics.li/105505e
Voici ce que j'aimerais:
http://hpics.li/f6e5922
Comment éviter cela ?
PS: merci d'avance de ne pas lancer un débat sur "il ne faut pas du code java dans les jsp etc...
Partager