一. struts token
1. addInput method
saveToken(p_request);
2. addInput.jsp
<input type="hidden" name="org.apache.struts.taglib.html.TOKEN" value="<%=session.getAttribute("org.apache.struts.action.TOKEN")%>" />
3. add method
if (isTokenValid(p_request, true)) {
// 表单不是重复提交
// 这里是保存数据的代码
} else {
// 表单重复提交
saveToken(p_request);
// 其它的处理代码
}
二. webwork解决方法
1. 在Action Input方法:
TokenHelper.setToken(TokenHelper.DEFAULT_TOKEN_NAME);
2.
在vm页面使用:
<input type="hidden" name="webwork.token" value="$session.getAttribute('webwork.token')"/>
Jsp:
<input type="hidden" name="webwork.token" value="<%=request.getSession().getAttribute("webwork.token")%>"/>
3.
xwork设置(Action add方法):
<interceptor-ref name="token-session"/>
<!--EndFragment-->
<!--EndFragment--> <!--EndFragment-->