在使用mvc时,常常会遇到表单重复提交的问题。解决方法如下:
1.我们首先模拟生成tokenid,添加到cookie的同时,传到页面
2.写好ajax方法,以便校验时调用
3.为表单增加隐藏的tokenid,并对提交按钮增加js事件
4.tokenid提交表单后的处理
5.校验使用的js代码
附件:用到的util
public static void removeCookie(HttpServletResponse response, String name) {
Cookie cookie = new Cookie(name, null);
cookie.setMaxAge(-1);
cookie.setPath("/");
response.addCookie(cookie);
}
public static Cookie getCookie(HttpServletRequest request, String name) {
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (int i = 0; i < cookies.length; i++) {
Cookie c = cookies[i];
if (c.getName().equals(name)) {
return c;
}
}
}
return null;
}