Yes, that is the exact same issue and fix. I take it that this issue wasn't high enough priority to be included in previous xwork patch releases?
Aymeric Levaux wrote: > > I reported a similar issue in Xwork JIRA months ago : > http://jira.opensymphony.com/browse/XW-521 > The fix is identical. > > -- > Aymeric > > PS: I'm not able to reply threads from my mail account, they're just > ignored (no errors). Any suggestions? > > > MassimoH 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#a13020278 Sent from the Struts - Dev mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]