struts 1.x 用token防止重复提交

struts 防止重复提交
流程:  a页面  ->>  A action  ->>  b页面  ->>  B action  ->>  b页面

会发生重复提交的是在 b页面

 

代码
A action:  saveToken(request);

 

b 页面: <input type="hidden" name="org.apache.struts.taglib.html.TOKEN" value="<%=session.getAttribute

("org.apache.struts.action.TOKEN")%>"/>

 

B action: 
if(isTokenValid(request, true)){   //不是重复提交
 //do something
 //return mapping
}
else { //重复提交
 saveToken(request);
 //do something
 //return mapping
}


当form用的是<html:form>提交的时候,只有在前一个action saveToken,当前action做判断就行了
但是<html:form>的自由度没<form>大
所以用<form>时,要加上
<input type="hidden" name="org.apache.struts.taglib.html.TOKEN" value="<%=session.getAttribute

("org.apache.struts.action.TOKEN")%>"/>
这句话在用<html:form>时,是struts自动帮我们加上的

你可能感兴趣的:(html,struts,input,action,token)