struts-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eric Lentz (JIRA)" <>
Subject [jira] [Commented] (WW-4071) ValidationAware add callable method, called from DefaultWorkflowInterceptor
Date Wed, 22 May 2013 12:50:20 GMT


Eric Lentz commented on WW-4071:


The code is looking really nice. I like what you did. One question though. I've received mixed
information about interceptor life-cycles, but I believe that an interceptor can span multiple
requests? In other words, it isn't created anew with each request. If that's true, then I'm
wondering if permanently changing resultName as a side-effect of executing processValidationErrorAware
is a good policy? In other words, I could see one action executing in ValidationErrorAware
mode, changing the result type and then another action coming along, not executing in ValidationErrorAware
mode, and expecting "input" for the resultName. If interceptors only live for 1 request and
then are re-created for the next request, then I'm way off and never mind.

If, on the other hand, it isn't created each time, then there could also be a thread-safety
/ race condition between ValidationErrorAware executions coming in at the same time.

> ValidationAware add callable method, called from DefaultWorkflowInterceptor
> ---------------------------------------------------------------------------
>                 Key: WW-4071
>                 URL:
>             Project: Struts 2
>          Issue Type: New Feature
>          Components: Core Interceptors
>    Affects Versions: 2.3.14
>            Reporter: Eric Lentz
>            Assignee: Lukasz Lenart
>            Priority: Minor
>             Fix For: 2.3.15
> When a form error occurs, the action is unaware of this event. There are situations whereby
one should know that a form error has occurred. For example, one may wish to populate the
ActionStack with special handling variables or set a flag denoting special logic that the
JSP should handle. In short, it isn't unreasonable for one to want to know that a form error
occurred and be able to respond to it with more than just a single JSP result attached to
> My suggestion would be within ValidationAware, add a method:
> void actionError()
> Within DefaultWorkflowInterceptor.doIntercept, there is already an if condition of:
> if (validationAwareAction.hasErrors()) {
> at the end of processing that if block, just before, "return resultName;" call validationAwareAction.actionError();
> By the way, this line:
> LOG.debug("Errors on action " + validationAwareAction + ", returning result name 'input'");
> should be:
> LOG.debug("Errors on action " + validationAwareAction + ", returning result name '" +
inputResultName + "'");

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message