【发布时间】:2013-09-20 06:04:52
【问题描述】:
我尝试使用<s:url .. 标签实现令牌拦截器,但它在第一次点击时显示错误。即
表单已处理或未提供令牌,请重试。
我想实现这个拦截器,因为如果用户已经删除了一行并再次刷新页面,那么同样的动作不应该再次执行。
<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>
【问题讨论】:
-
@AleksandrM 以前我正在重定向,但在重定向时我在重定向时丢失了
<s:actionmessge/>。 -
用于存储动作消息有
store拦截器:struts.apache.org/development/2.x/docs/…。 -
@AleksandrM 感谢您提供的信息,
store拦截器是在 struts2 中新创建的吗?因为,在4个月前,我没有听说过这个拦截器的名字 -
如果您仍想在链接中使用令牌,请查看我的回答。
标签: java jsp struts2 token interceptor