You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Alfredo Osorio (JIRA)" <ji...@apache.org> on 2013/08/30 00:19:51 UTC

[jira] [Commented] (WW-4071) ValidationAware add callable method, called from DefaultWorkflowInterceptor

    [ https://issues.apache.org/jira/browse/WW-4071?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13754131#comment-13754131 ] 

Alfredo Osorio commented on WW-4071:
------------------------------------

Actually, these lines should be just before returning the result and not at the start because at that moment you still don't know what result will be returned:
if (LOG.isDebugEnabled()) {
   LOG.debug("Errors on action [#0], returning result name [#1]", validationAwareAction, resultName);
}
                
> ValidationAware add callable method, called from DefaultWorkflowInterceptor
> ---------------------------------------------------------------------------
>
>                 Key: WW-4071
>                 URL: https://issues.apache.org/jira/browse/WW-4071
>             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 "input."
> 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: http://www.atlassian.com/software/jira