Imansible implementare l’intercettore token Struts 2 con collegamento ipertestuale

Ho provato ad implementare token interceptor con il <s:url .. ma il suo errore di visualizzazione sul primo clic. cioè The form has already been processed or no token was supplied, please try again.

Voglio implementare questo intercettore, perché se gli utenti hanno già cancellato una riga e aggiornato la pagina ancora una volta, la stessa azione non dovrebbe essere eseguita ancora una volta.

     <a href='https://stackoverflow.com/questions/18822095/unable-to-implement-struts-2-token-interceptor-with-hyperlink/' style="color: white;text-decoration: none;" class="delbuttonlink">Clear current Uploads 

e il mio struts.xml :

      uploadforward uploadforward   

Il tag s: token pone semplicemente un elemento nascosto che contiene il token univoco.

Non è necessario utilizzare il token con l’URL, poiché il modulo deve essere inviato. Se vuoi passare qualche token come parametro, devi usare s:param tag.

Definire il parametro

  private String token; public String getToken() { return token; } public void setToken(String token) { this.token = token; } public String execute() throws Exception { Map context = ActionContext.getContext().getValueStack().getContext(); Object myToken = context.get("token"); if (myToken == null) { myToken = TokenHelper.setToken("token"); context.put("token", myToken); } token = myToken.toString(); return SUCCESS; } 

nella JSP

  

Il modo più semplice per usare token con url è usare il per impostare il valore del token in sessione e recuperarlo nel .