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自动帮我们加上的