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#a13014849 Sent from the Struts - Dev mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]