[ 
https://issues.apache.org/struts/browse/WW-1786?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Husted resolved WW-1786.
----------------------------

       Resolution: Fixed
    Fix Version/s: 2.1.0

Completed: At revision: 517424 , 417426


> using session-token interceptor generates FreeMarker template error
> -------------------------------------------------------------------
>
>                 Key: WW-1786
>                 URL: https://issues.apache.org/struts/browse/WW-1786
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Interceptors
>    Affects Versions: 2.0.6
>            Reporter: Tom Schneider
>         Assigned To: Tom Schneider
>             Fix For: 2.0.7, 2.1.0
>
>
> This is a patch from webwork.
> Original Description:
> I'm trying to use the session token interceptor to prevent users from 
> submitting the same form multiple times. It works but if I dispatch to a long 
> JSP page I'm getting a Freemarker template error(see below). If I make the 
> page very small it works perfectly, if I repeat the same content a few 
> times(to make sure it's the length of the page and not the content which is 
> generating the error) it gives the freemarker template error.
> http://jira.opensymphony.com/browse/WW-1357
> Index: 
> /projects/backup/webwork-trunk/src/java/com/opensymphony/webwork/interceptor/TokenSessionStoreInterceptor.java
> ===================================================================
> --- 
> /projects/backup/webwork-trunk/src/java/com/opensymphony/webwork/interceptor/TokenSessionStoreInterceptor.java
>     (revision 2795)
> +++ 
> /projects/backup/webwork-trunk/src/java/com/opensymphony/webwork/interceptor/TokenSessionStoreInterceptor.java
>     (working copy)
> @@ -107,6 +107,7 @@
>              if (savedInvocation != null) {
>                  // set the valuestack to the request scope
>                  OgnlValueStack stack = savedInvocation.getStack();
> +                Map context = stack.getContext();
>                  
> request.setAttribute(ServletActionContext.WEBWORK_VALUESTACK_KEY, stack);
>  
>                  Result result = savedInvocation.getResult();
> @@ -112,7 +113,9 @@
>                  Result result = savedInvocation.getResult();
>  
>                  if ((result != null) && 
> (savedInvocation.getProxy().getExecuteResult())) {
> -                    result.execute(savedInvocation);
> +                    synchronized (context) {
> +                        result.execute(savedInvocation);
> +                    }
>                  }
>  
>                  // turn off execution of this invocations result

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to