JSP控制表单重复提交

来源:互联网 发布:什么软件适合iphonex 编辑:程序博客网 时间:2024/05/14 23:04

<form action="<%=basePath %>xxx.do">
<input type="hidden" name="reqUUID" value="<%= UUID.randomUUID().toString() %>" />
</form>

String reqUUID = request.getParameter("reqUUID");
String sessionUUID = null;
try {
sessionUUID = request.getSession().getAttribute("sessionUUID").toString();
} catch (Exception e) {
sessionUUID = null;
}
if(reqUUID!=null){
if(sessionUUID!=null && sessionUUID.equals(requestUUID)){//重复提交表单
List list = request.getSession().getAttribute(sessionUUID);
request.setAttribute("dataList",list);
request.getRequestDispatcher("view.jsp").forward(request, response);
}else{//正常提交表单
List list = null;
//业务处理

request.getSession().setAttribute("sessionUUID", requestUUIDKey);
request.getSession().setAttribute(reqUUID, list);
request.setAttribute("dataList",list);
request.getRequestDispatcher("view.jsp").forward(request, response);
}
}else{

if(sessionUUIDKey!=null){//页面刷新
List list = request.getSession().getAttribute(sessionUUID);
request.setAttribute("dataList",list);
request.getRequestDispatcher("view.jsp").forward(request, response);
}else{//session 失效
response.sendRedirect(request.getContextPath()+"index.jsp");
}

}