Looks good, file a issue at http://issues.apache.org/struts

Don

On 10/3/07, MassimoH <[EMAIL PROTECTED]> wrote:
>
> I've isolated a Struts 2 bug and I would like to suggest a code fix. The code
> fix is in an xwork class. I'm don't fully understand the xwork/struts
> distinction, but I assume I'm posting to the right list.
>
> Here is the error scenario:
>
> - DefaultActionInvocation calls all Interceptors which wind onto the Java
> call stack. Then DefaultActionInvocation calls the actual action itself. The
> action returns "success"
> - DefaultActionInvocation creates result object from this result code and
> executes the result
> - There is a problem in my FTL template, so FreeMarker throws a
> ParseException
> - Call stack unwinds to ExceptionMappingInterceptor which catches the
> exception, adds to OGNL value stack and returns "unhandledException"
> - DefaultActionInvocation simply re-executes the already created result
> object based on the original Action result.
> - The caching mechanism within FreeMarker detects a current timestamp and
> will either throw a FileNotFoundException (if the page isn't cached) or
> returns cached and out-of-date results. In either case, the original
> exception is lost and never logged. My exception action is also never
> executed.
>
> This seems to be...
>
> A small FreeMarker bug: it should rethrow ParseException when called a
> second time.
> A larger Struts 2 (or xwork) bug: Struts shouldn't ignore the first
> exception and simply rerun the result object. When Struts catches the
> original exception from the result, it should call the defined exception
> action.
>
>
> I suggest that the following three lines be removed from
> DefaultActionInvocation.java, line 174:
>
>         if (result != null) {
>                 return result;
>         }
>
> I've tested this and I get the desired behavior. My exception action is
> called for the original exception. The xwork build reports no additional
> automated test failures. I got four test failures trying to build the
> standard xwork 2.0.4 distribution before making any changes, however my code
> change didn't affect these results.
>
>
> Version Info
> Java 1.6.0_02
> Struts 2.0.9
> xwork 2.0.4
> --
> View this message in context: 
> http://www.nabble.com/struts-xwork-patch-submission.-Please-Review.-tf4558415.html#a13008842
> Sent from the Struts - Dev mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> 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]

Reply via email to