Both will help. Figuring out what size buffer you need will be a process
of experimentation. The bottom line is that this is not a robust
solution unless you can be reasonably sure the size of each page will
not vary very much.
L.
Vladislav Pernin wrote:
You mean <tiles:insert attribute="xxx" flush="false" /> or <%@ page
autoFlush="false" ... buffer="64kb">, or both ?
I do not really have an idea what could be a reasonable value for buffer.
Vlad
Laurie Harper a écrit :
Well, assuming the IllegalStateException is complaining about not
being able to forward after the response has been committed or
something similar, the problem is that (at least some of) the response
has already been sent when the error occurs.
You may be able to work around that by (a) making sure you use
flush=false everywhere and (b) increasing the size of the response
buffer.
L.
Vladislav Pernin wrote:
I try to migrate to Struts 1.2.8, the "ServletException ..." message
is not displayed any more.
Problem is that if I use the error-page of the web.xml, I got the
following exception :
2006-02-01 18:58:27 ErrorDispatcherValve[localhost]: Exception
Processing ErrorPage[exceptionType=java.lang.Throwable,
location=/error.jsp]
java.lang.IllegalStateException: Impossible de remettre ? z?ro apr?s
que la r?ponse ait ?t? envoy?e
at
org.apache.catalina.connector.ResponseBase.reset(ResponseBase.java:742)
at
org.apache.catalina.connector.HttpResponseBase.reset(HttpResponseBase.java:765)
at
org.apache.catalina.connector.http.HttpResponseImpl.reset(HttpResponseImpl.java:156)
at
org.apache.catalina.connector.HttpResponseBase.reset(HttpResponseBase.java:326)
at
org.apache.catalina.valves.ErrorDispatcherValve.custom(ErrorDispatcherValve.java:364)
at
org.apache.catalina.valves.ErrorDispatcherValve.throwable(ErrorDispatcherValve.java:209)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:126)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:534)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:994)
at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1105)
at java.lang.Thread.run(Thread.java:534)
If I use the <%@ page errorPage ..., the tiles bloc which fails is
replaced by the content of error.jsp but not the user is not redirected.
Any idea ?
Vladislav Pernin
Vladislav Pernin wrote:
I just found in the 1.2.4 release note that this has been resolved.
So I'm going to take a look at 1.2.4 migration.
Vladislav Pernin
Vladislav Pernin wrote:
Hi all,
I'm working in an Struts-1.1 tiles environment and I need to be
able to redirect user on a JSP error page when an errors occurs. I
also need to send an email, that can be done from the JSP error
page or from an exception handler.
The global-exceptions declared in the struts-config.xml "catch" the
exception that occur in the struts action only.
I also need to catch exception in the JSP, so I try to set an
error-page in the web.xml, the exception thrown from the
TableauBord.jsp is not caugth and an ugly "A ServletException in
/jsp/TableauBord.jsp ..." is displayed instead of the content of
the TableauBord.jsp inserted by <tiles:insert attribute="corps"/>
in Template.jsp ; the JSP error page error.jsp is not called.
So I try to add a <%@ page errorPage="/jsp/error.jsp" %> in the
pages Template.jsp and TableauBord.jsp, I got a different
behaviour, the "ServletException ..." message went out but the JSP
error page has still not been called. After some testing, I
realised that I could put any string in the <%@ page
errorPage="sdqsdsqdqsdsqd" %>, no change.
I try to use a standard JSP page, I mean without tiles templating,
and my JSP error page is called with both solutions (error-page in
web.xml and directive errorPage in JSP).
Maybe the response is commited before the exception is thrown ?
The web gave me some directions, I tried all of them without any
success. So if you guys have an idea, it would be great.
Regards,
Vladislav Pernin
------------------------------------------------------------------------------_
Template.jsp:_
<%@ page contentType="text/html;charset=utf-8" %>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<html>
<head>
<html:base />
<tiles:importAttribute name="titrePage"/>
...
<body >
<div class="top"><tiles:insert attribute="imagesEntete"/></div>
...
<tiles:insert attribute="corps"/>
...
_TableauBord.jsp :
_JSP page where the error occurs
_titles-defs.xml :_
<definition name=".MainLayout" path="/Template.jsp">
<put name="titrePage" value="page.defaut.titre" />
<put name="imagesEntete" value="/jsp/Entete.jsp" />
<put name="corps" value="corps" />
</definition>
<definition name=".TableauBord" extends=".MainLayout">
<put name="corps" value="/jsp/TableauBord.jsp"/>
</definition>
_struts-config.xml :_
...
<global-exceptions>
<exception key="page.error.key"
type="java.lang.Exception"
path="/jsp/error.jsp"
handler="xxx.yyy.ExceptionHandler" />
</global-exceptions>
...
_web.xml :_
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/jsp/error.jsp</location>
</error-page>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]