[
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.