You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by John Boyer <jo...@rodaxsoft.com> on 2014/04/29 17:52:40 UTC

How to Prevent Double Submits After Upgrading to Struts 2.3.16.2

Hello:

I'm upgrading from Struts 2.3.4.1 to Struts 2.3.16.2. I've found that my previous solution for preventing double submits no longer works.

I get the following warning:

...ParametersInterceptor.warn:56 - Parameter [struts.token.name] is on the excludeParams list of patterns!

It's unclear to me how to resolve this problem. 

I'm using struts.xml to define the action workflow. How can I fix this problem?

-------

<action name="myAction" class="com.example.MyActionClass" method="myMethodToInvoke">
			<!-- Prevent double submits -->
			<interceptor-ref name="tokenSession"/>
			<interceptor-ref name="defaultStack"/>
			<result name="input">/WEB-INF/jsp/input.jsp</result>
			<result name="success" type="redirect">
				<param name="location">http://example.com</param>
			</result>
			...
		</action>

-------

Thank you for your time.

John Boyer


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: How to Prevent Double Submits After Upgrading to Struts 2.3.16.2

Posted by John Boyer <jo...@rodaxsoft.com>.
I can confirm that setting devMode to `false` suppresses the token error. I should have looked more closely at the error message because it contained the solution.

Thank you,

John Boyer

On Apr 29, 2014, at 10:02 PM, Lukasz Lenart wrote:

> Switch off devMode and check again.
> 
> 2014-04-30 2:08 GMT+02:00 John Boyer:
>> Martin et. al.:
>> 
>> Yes, the examples seem to run fine. And my code worked fine in version 2.3.4.1. However, after upgrading from Struts 2.3.4.1 to 2.3.16.2, I get the following error:
>> 
>> 2014-04-29 15:28:56,950 WARN  ...ParametersInterceptor.warn:56 - Parameter [struts.token.name] is on the excludeParams list of patterns!
>> 2014-04-29 15:28:56,964 ERROR ...ParametersInterceptor.error:34 - Developer Notification (set struts.devMode to false to disable this message):
>> 
>> Unexpected Exception caught setting 'token' on 'class com.xxx.xxx.CompleteSignUpAction: Error setting expression 'token' with value ['1GO4EYXDWVOD8UQYOBQT3KU0H7SRZED', ]
>> 
>> I changed my configuration to be consistent with the examples; however, that didn't seem to make a difference. What am I missing here? Am I supposed to add a token field to my action class?
>> 
>> Thanks,
>> 
>> John
>> 
>> -----------------------------
>> <action name="completeSignUp" class="com.xxx.xxx.CompleteSignUpAction" method="execute">
>>                        <!-- Prevent double submits -->
>>                        <interceptor-ref name="defaultStack"/>
>>                        <interceptor-ref name="tokenSession"/>
>>                        <result name="input">/WEB-INF/jsp/summary.jsp</result>
>>                        <result name="success" type="redirect">
>>                                <param name="location">${nextResult}</param>
>>                        </result>
>>                        <result name="invalid.token">/WEB-INF/jsp/regerror.jsp</result>
>>                </action>
>> 
>> ----------------------------
>> 
>> 
>> On Apr 29, 2014, at 12:56 PM, Martin Gainty wrote:
>> 
>>> Its in showcase struts.xml
>>> interceptor-ref name="token"
>>> make sure you specify invalid.token result and a valid jsp page as seen here
>>> 
>>> <action name="transfer" class="org.apache.struts2.showcase.token.TokenAction">
>>>            <interceptor-ref name="defaultStack"/>
>>>            <interceptor-ref name="token"/>
>>>            <result name="invalid.token">/WEB-INF/token/doublePost.jsp</result>
>>>            <result name="success">/WEB-INF/token/transferDone.jsp</result>
>>> </action>
>>> 
>>> HTH,
>>> Martin
>>> ______________________________________________
>>> Member
>>> _____ _          _____             _          _____     ___ _                        _____               _     _   _
>>> |_   _| |_ ___   |  _  |___ ___ ___| |_ ___   |   __|___|  _| |_ _ _ _ ___ ___ ___   |   __|___ _ _ ___ _| |___| |_|_|___ ___
>>>  | | |   | -_|  |     | . | .'|  _|   | -_|  |__   | . |  _|  _| | | | .'|  _| -_|  |   __| . | | |   | . | .'|  _| | . |   |
>>>  |_| |_|_|___|  |__|__|  _|__,|___|_|_|___|  |_____|___|_| |_| |_____|__,|_| |___|  |__|  |___|___|_|_|___|__,|_| |_|___|_|_|
>>>                       |_|
>>> 
>>> 
>>> 
>>>> From: john@rodaxsoft.com
>>>> Subject: How to Prevent Double Submits After Upgrading to Struts 2.3.16.2
>>>> Date: Tue, 29 Apr 2014 08:52:40 -0700
>>>> To: user@struts.apache.org
>>>> 
>>>> Hello:
>>>> 
>>>> I'm upgrading from Struts 2.3.4.1 to Struts 2.3.16.2. I've found that my previous solution for preventing double submits no longer works.
>>>> 
>>>> I get the following warning:
>>>> 
>>>> ...ParametersInterceptor.warn:56 - Parameter [struts.token.name] is on the excludeParams list of patterns!
>>>> 
>>>> It's unclear to me how to resolve this problem.
>>>> 
>>>> I'm using struts.xml to define the action workflow. How can I fix this problem?
>>>> 
>>>> -------
>>>> 
>>>> <action name="myAction" class="com.example.MyActionClass" method="myMethodToInvoke">
>>>> <!-- Prevent double submits -->
>>>> <interceptor-ref name="tokenSession"/>
>>>> <interceptor-ref name="defaultStack"/>
>>>> <result name="input">/WEB-INF/jsp/input.jsp</result>
>>>> <result name="success" type="redirect">
>>>> <param name="location">http://example.com</param>
>>>> </result>
>>>> ...
>>>> </action>
>>>> 
>>>> -------
>>>> 
>>>> Thank you for your time.
>>>> 
>>>> John Boyer
>>>> 
>>>> 
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>>>> For additional commands, e-mail: user-help@struts.apache.org
>>>> 
>> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: How to Prevent Double Submits After Upgrading to Struts 2.3.16.2

Posted by Lukasz Lenart <lu...@apache.org>.
Switch off devMode and check again.

2014-04-30 2:08 GMT+02:00 John Boyer <jo...@rodaxsoft.com>:
> Martin et. al.:
>
> Yes, the examples seem to run fine. And my code worked fine in version 2.3.4.1. However, after upgrading from Struts 2.3.4.1 to 2.3.16.2, I get the following error:
>
> 2014-04-29 15:28:56,950 WARN  ...ParametersInterceptor.warn:56 - Parameter [struts.token.name] is on the excludeParams list of patterns!
> 2014-04-29 15:28:56,964 ERROR ...ParametersInterceptor.error:34 - Developer Notification (set struts.devMode to false to disable this message):
>
> Unexpected Exception caught setting 'token' on 'class com.xxx.xxx.CompleteSignUpAction: Error setting expression 'token' with value ['1GO4EYXDWVOD8UQYOBQT3KU0H7SRZED', ]
>
> I changed my configuration to be consistent with the examples; however, that didn't seem to make a difference. What am I missing here? Am I supposed to add a token field to my action class?
>
> Thanks,
>
> John
>
> -----------------------------
> <action name="completeSignUp" class="com.xxx.xxx.CompleteSignUpAction" method="execute">
>                         <!-- Prevent double submits -->
>                         <interceptor-ref name="defaultStack"/>
>                         <interceptor-ref name="tokenSession"/>
>                         <result name="input">/WEB-INF/jsp/summary.jsp</result>
>                         <result name="success" type="redirect">
>                                 <param name="location">${nextResult}</param>
>                         </result>
>                         <result name="invalid.token">/WEB-INF/jsp/regerror.jsp</result>
>                 </action>
>
> ----------------------------
>
>
> On Apr 29, 2014, at 12:56 PM, Martin Gainty wrote:
>
>> Its in showcase struts.xml
>> interceptor-ref name="token"
>> make sure you specify invalid.token result and a valid jsp page as seen here
>>
>> <action name="transfer" class="org.apache.struts2.showcase.token.TokenAction">
>>             <interceptor-ref name="defaultStack"/>
>>             <interceptor-ref name="token"/>
>>             <result name="invalid.token">/WEB-INF/token/doublePost.jsp</result>
>>             <result name="success">/WEB-INF/token/transferDone.jsp</result>
>> </action>
>>
>> HTH,
>> Martin
>> ______________________________________________
>> Member
>>  _____ _          _____             _          _____     ___ _                        _____               _     _   _
>> |_   _| |_ ___   |  _  |___ ___ ___| |_ ___   |   __|___|  _| |_ _ _ _ ___ ___ ___   |   __|___ _ _ ___ _| |___| |_|_|___ ___
>>   | | |   | -_|  |     | . | .'|  _|   | -_|  |__   | . |  _|  _| | | | .'|  _| -_|  |   __| . | | |   | . | .'|  _| | . |   |
>>   |_| |_|_|___|  |__|__|  _|__,|___|_|_|___|  |_____|___|_| |_| |_____|__,|_| |___|  |__|  |___|___|_|_|___|__,|_| |_|___|_|_|
>>                        |_|
>>
>>
>>
>> > From: john@rodaxsoft.com
>> > Subject: How to Prevent Double Submits After Upgrading to Struts 2.3.16.2
>> > Date: Tue, 29 Apr 2014 08:52:40 -0700
>> > To: user@struts.apache.org
>> >
>> > Hello:
>> >
>> > I'm upgrading from Struts 2.3.4.1 to Struts 2.3.16.2. I've found that my previous solution for preventing double submits no longer works.
>> >
>> > I get the following warning:
>> >
>> > ...ParametersInterceptor.warn:56 - Parameter [struts.token.name] is on the excludeParams list of patterns!
>> >
>> > It's unclear to me how to resolve this problem.
>> >
>> > I'm using struts.xml to define the action workflow. How can I fix this problem?
>> >
>> > -------
>> >
>> > <action name="myAction" class="com.example.MyActionClass" method="myMethodToInvoke">
>> > <!-- Prevent double submits -->
>> > <interceptor-ref name="tokenSession"/>
>> > <interceptor-ref name="defaultStack"/>
>> > <result name="input">/WEB-INF/jsp/input.jsp</result>
>> > <result name="success" type="redirect">
>> > <param name="location">http://example.com</param>
>> > </result>
>> > ...
>> > </action>
>> >
>> > -------
>> >
>> > Thank you for your time.
>> >
>> > John Boyer
>> >
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>> > For additional commands, e-mail: user-help@struts.apache.org
>> >
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: How to Prevent Double Submits After Upgrading to Struts 2.3.16.2

Posted by John Boyer <jo...@rodaxsoft.com>.
Martin et. al.:

Yes, the examples seem to run fine. And my code worked fine in version 2.3.4.1. However, after upgrading from Struts 2.3.4.1 to 2.3.16.2, I get the following error:

2014-04-29 15:28:56,950 WARN  ...ParametersInterceptor.warn:56 - Parameter [struts.token.name] is on the excludeParams list of patterns!
2014-04-29 15:28:56,964 ERROR ...ParametersInterceptor.error:34 - Developer Notification (set struts.devMode to false to disable this message):

Unexpected Exception caught setting 'token' on 'class com.xxx.xxx.CompleteSignUpAction: Error setting expression 'token' with value ['1GO4EYXDWVOD8UQYOBQT3KU0H7SRZED', ]

I changed my configuration to be consistent with the examples; however, that didn't seem to make a difference. What am I missing here? Am I supposed to add a token field to my action class?

Thanks,

John

-----------------------------
<action name="completeSignUp" class="com.xxx.xxx.CompleteSignUpAction" method="execute">
			<!-- Prevent double submits -->
			<interceptor-ref name="defaultStack"/>
			<interceptor-ref name="tokenSession"/>
			<result name="input">/WEB-INF/jsp/summary.jsp</result>
			<result name="success" type="redirect">
				<param name="location">${nextResult}</param>
			</result>
			<result name="invalid.token">/WEB-INF/jsp/regerror.jsp</result>
		</action>

----------------------------


On Apr 29, 2014, at 12:56 PM, Martin Gainty wrote:

> Its in showcase struts.xml
> interceptor-ref name="token"
> make sure you specify invalid.token result and a valid jsp page as seen here
> 
> <action name="transfer" class="org.apache.struts2.showcase.token.TokenAction">
>             <interceptor-ref name="defaultStack"/>
>             <interceptor-ref name="token"/>
>             <result name="invalid.token">/WEB-INF/token/doublePost.jsp</result>
>             <result name="success">/WEB-INF/token/transferDone.jsp</result>
> </action>
> 
> HTH,
> Martin 
> ______________________________________________ 
> Member
>  _____ _          _____             _          _____     ___ _                        _____               _     _   _         
> |_   _| |_ ___   |  _  |___ ___ ___| |_ ___   |   __|___|  _| |_ _ _ _ ___ ___ ___   |   __|___ _ _ ___ _| |___| |_|_|___ ___ 
>   | | |   | -_|  |     | . | .'|  _|   | -_|  |__   | . |  _|  _| | | | .'|  _| -_|  |   __| . | | |   | . | .'|  _| | . |   |
>   |_| |_|_|___|  |__|__|  _|__,|___|_|_|___|  |_____|___|_| |_| |_____|__,|_| |___|  |__|  |___|___|_|_|___|__,|_| |_|___|_|_|
>                        |_|                                                                                                    
> 
> 
> 
> > From: john@rodaxsoft.com
> > Subject: How to Prevent Double Submits After Upgrading to Struts 2.3.16.2
> > Date: Tue, 29 Apr 2014 08:52:40 -0700
> > To: user@struts.apache.org
> > 
> > Hello:
> > 
> > I'm upgrading from Struts 2.3.4.1 to Struts 2.3.16.2. I've found that my previous solution for preventing double submits no longer works.
> > 
> > I get the following warning:
> > 
> > ...ParametersInterceptor.warn:56 - Parameter [struts.token.name] is on the excludeParams list of patterns!
> > 
> > It's unclear to me how to resolve this problem. 
> > 
> > I'm using struts.xml to define the action workflow. How can I fix this problem?
> > 
> > -------
> > 
> > <action name="myAction" class="com.example.MyActionClass" method="myMethodToInvoke">
> > <!-- Prevent double submits -->
> > <interceptor-ref name="tokenSession"/>
> > <interceptor-ref name="defaultStack"/>
> > <result name="input">/WEB-INF/jsp/input.jsp</result>
> > <result name="success" type="redirect">
> > <param name="location">http://example.com</param>
> > </result>
> > ...
> > </action>
> > 
> > -------
> > 
> > Thank you for your time.
> > 
> > John Boyer
> > 
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> > For additional commands, e-mail: user-help@struts.apache.org
> >