Я попытался реализовать токен-перехватчик с тегом <s:url ..
, но его отображающая ошибка при первом щелчке. т.е. The form has already been processed or no token was supplied, please try again.
Невозможно реализовать перехватчик токенов Struts 2 с гиперссылкой
Я хочу реализовать этот перехватчик, потому что, если пользователи уже удалил строку и обновить страницу еще раз то же самое действие не должно выполнить еще раз.
<s:url id="linkdelete" action="DeleteLatestUpload.action" namespace="/admin/insecure/upload">
<s:param name="latestUploadId" value="latestUploadId"></s:param>
<s:token name="token"></s:token>
</s:url>
<a href='<s:property value="#linkdelete"/>' style="color: white;text-decoration: none;" class="delbuttonlink">Clear current Uploads</a>
и мой struts.xml
:
<action name="DeleteLatestUpload" class="v.esoft.actions.UploadExcel" method="deleteUploads">
<interceptor-ref name="token"></interceptor-ref>
<interceptor-ref name="basicStack"></interceptor-ref>
<result name="success" type="tiles"> uploadforward</result>
<result name="invalid.token" type="tiles">uploadforward </result>
</action>
Просто сделайте перенаправление после публикации. См. Http://en.wikipedia.org/wiki/Post/Redirect/Get и http://struts.apache.org/development/2.x/docs/redirect-after-post.html. –
@AleksandrM ранее я перенаправлял, но при перенаправлении я освободил ' ' при переадресации. –
beginner
Для хранения сообщений о действиях есть перехватчик 'store': http://struts.apache.org/development/2.x/docs/message-store-interceptor.html. –