Evitar mostrar código jsp anterior a excepción (tiles)

Hola! Tengo un problema a la hora de mostrar la jsp de la página de error tras una
excepción.
Trabajo con Struts y utilizo tiles para la distribución de las páginas de la aplicación,
y para ello tengo más o menos este código:
<%@page errorPage="/jsp/fallo.jsp" buffer="256kb" autoFlush="false"%>
<html:html>
<body>
<table>
<tr>
<td>
<tiles:insert attribute="cabecera"/>
</td>
</tr>
</table>
<table>
<tr>
<td>
<tiles:insert attribute="encabezado"/>
</td>
</tr>
</table>
<table>
<tr>
<td>
<tiles:insert attribute="menu"/>
</td>
</tr>
</table>
<table>
<tr>
<td>
<tiles:insert attribute="cuerpo"/>
</td>
</tr>
</table>
<table>
<tr>
<td>
<tiles:insert attribute="pie"/>
</td>
</tr>
</table>
</body>
<%
out.flush();
%>
</html:html>
El código principal de cada página está en el cuerpo, y el problema que tengo es que si se produce una excepción en una clase java por ejemplo, consigo redireccionar y mostrar correctamente la página de error (hago uso de <global-exceptions> en struts-config.xml), pero si la excepción se produce en código java que está dentro de una jsp, obtengo la misma página de error pero con la cabecera, el encabezado y el menú también en la página, cosa que yo no quiero. Si se produce un error, cosa que siempre sucede en el cuerpo, yo quiero una página limpia y nueva, diferente, pero como en la distribución de las páginas tengo esas 3 partes antes del cuerpo de la página, no consigo evitar que no se muestren.
Utilizo <%@page errorPage="/jsp/fallo.jsp" buffer="256kb" autoFlush="false"%>
para que eso no suceda, porque así supuestamente la página no se envía a la salida al
tener el autoFlush a false y se almacena en el buffer hasta que yo ordene su salida (si la ordeno) con out.flush(), pero sucede de todos modos.
¿Cómo puedo conseguir que si se produce una excepción en el cuerpo de la jsp, entonces no se muestren la cabecera, encabezado y menu que hay antes?
Gracias

1 Respuesta

Respuesta
Pues aquí me pillas, lo siento

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas