I think the resetToken should be placed as the first place in your action that 
processes your submitted form, instead of when you are done processing the submitted 
form.

-----Original Message-----
From: Erik Weber [mailto:[EMAIL PROTECTED]
Sent: Friday, August 27, 2004 10:57 AM
To: Struts Users Mailing List
Subject: Re: My IsValidToken() cannot trap duplicated submission.


When you are done processing the submitted form, invoke "resetToken".

Erik



PC Leung wrote:

>After clicking submit button and then go back previous page, 
>data is still there, click the submit button again. record will be
>saved once more time. The IsValidToken cannot trap the duplicated
>submission.
>
>Initial page:
>http://localhost:8080/erp/AddUserProfile.jsp
>if clicking submit button, goes to 
>http://localhost:8080/erp/addUserProfile.do?method=create
>
>struts-config.xml like this.
>    <action    path="/addUserProfileSetup"
>               type="com.erp.quotation.AddUserProfileAction"
>               name="addUserProfileForm"
>                  scope="request" 
>                  validate="false">
>      <forward name="success" path="/AddUserProfile.jsp" redirect="true"/>
>    </action> 
>    <action    path="/addUserProfile"
>               type="com.erp.quotation.AddUserProfileDispatchAction"
>               name="addUserProfileForm"
>                  scope="request" 
>                  validate="true" 
>                        parameter="method"
>               input="/AddUserProfile.jsp">
>      <forward name="success" path="/AddUserProfile.jsp"/>
>      <forward name="failure" path="/AddUserProfile.jsp"/>
>      <forward name="cancel" path="/UserMaint.jsp"/>
>    </action>    
>
>Initial page already shows with a token.
>
>Why the following DispatchAction cannot trap duplicated submission?
>
>public final class AddUserProfileDispatchAction extends DispatchAction {
>    public ActionForward create (ActionMapping mapping,
>                       ActionForm form,
>                       HttpServletRequest request,
>                       HttpServletResponse response) 
>      throws Exception {               
>         HttpSession session = request.getSession();
>         ActionErrors errors = new ActionErrors();
>      if (!isTokenValid(request, true)) {
>          errors.add(ActionErrors.GLOBAL_ERROR,
>                 new ActionError("error.transaction.token"));
>      }
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>  
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to