[ 
https://issues.apache.org/struts/browse/WW-794?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_42479
 ] 

Tom Schneider commented on WW-794:
----------------------------------

My apologies, I incorrectly assumed this was a JasperReports exception.  I 
would be concerned about changing the behavior in the way you describe--it may 
change the behavior in a such a way as to break compatibility with existing 
applications.  In your case, I would create a new interceptor that filters out 
JasperException's and rethrows them.  I'm not sure how we would handle this in 
a general sense.

> Issue with ServletDispatcherResponse after a JasperException
> ------------------------------------------------------------
>
>                 Key: WW-794
>                 URL: https://issues.apache.org/struts/browse/WW-794
>             Project: Struts 2
>          Issue Type: Improvement
>          Components: Dispatch
>    Affects Versions: WW 2.1.6, WW 2.1.7
>            Reporter: Grégory Joseph
>            Assignee: Rainer Hermanns
>             Fix For: 2.1.1
>
>         Attachments: skipPageContext-patch.tgz
>
>
> Following my thread on 
> http://forums.opensymphony.com/thread.jspa?messageID=8487 , here's patch + 
> testcase, in case you guys think the problem is valid.
> I had to resort to jmock-cglib, since I needed to mock the PageContext 
> concrete class: you need jmock-1.0.1 , jmock-cglib-1.0.1 , cglib-2.0.2 and 
> asm-1.4.3 for it to work.
> // Here's a copy of my original post, for the record:
> I'm having an issue with the ServletDispatcherResult : I have a 
> (simplistic) ExceptionInterceptor, which returns ERROR in case in 
> catches any Throwable.
> I have a global result for error, mapped to an ErrorAction of ours, 
> which currently just logs and returns SUCCESS (the idea being that it's 
> going to automatically send a mail to someone, or create a jira bug 
> report if appropriate). This in turn has its SUCCESS result mapped to a 
> dispatcher for some jsp.
> The problem actually occurs when the original action has a 
> JasperException thrown in its dispatched jsp view (currently using 
> tomcat 5.5.4) : the ServletDispatcherResult can't dispatch to the 
> error.jsp (which is the result of the ErrorAction), because, like jasper 
> reports, the Stream is already closed.
> I figured that by removing lines 58-62 from ServletDispatcherResult, 
> thing just work as I expect. That is, removing he pageContext.include 
> call, and letting my jsp be forwarded instead. Since I'm not sure what 
> the intent with pageContext.include is - I've seen an older jira report 
> mentionning it (WW-292), I thought it could simply be optional. (i.e, 
> adding a setSkipPageContextInclude(boolean skip) in ServletDispatcherResult)
> How does that sound? I'm currently working on a patch for this, but 
> PageContext being a concrete class, I needed to use jmock+jmock-cglib 
> instead of mockobjects. What do you guys think?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to