简单的利用标记方法。在JSP页面设置一个flag标记,初始为true,当表单提交到servlet时把返回一个完成标记,使回到JSP页面时不会继续提交。
xx.jsp:
<%
boolean flag = true;
if (request.getAttribute("isEmptyAction") != null) {
flag = false;
}
%>
<form action="" method="post" name="autoform1">
</form>
<script type="text/javascript">
console.log("flag="+<%=flag%>);
if (<%=flag%>) {
document.autoform1.action = "/xx/xx/xxServlet";
document.autoform1.submit();
}
</script>
Tip:Javascript的位置应该在提交表单的下方位置,不然容易出现找不到表单的情况。
xxServlet.java:
/* ……
功能代码
……
*/
request.setAttribute("isEmptyAction", "false");
request.getRequestDispatcher(login).forward(request, response);