jsp刷新页面会再提交一次表单
我用jsp+servlet做的网页,jsp提交表单,servlet中处理,然后servlet再forward回刚才的那个jsp页面!执行之后,我刷新页面,会再次提交数据插...
我用jsp+servlet做的网页,jsp提交表单,servlet中处理,然后servlet再forward回刚才的那个jsp页面!执行之后,我刷新页面,会再次提交数据插入到数据库中,应该怎么做才能使他刷新但是不再提交表单了啊!(谢谢了!)我的servlet中有个插入数据库的方法和显示数据库中数据的方法!我的插入数据之后再次调用了显示数据的方法;显示数据的方法是查询了数据库之后forward到开始的jsp页面!请好心的大哥(大姐)帮帮忙吧!我没有多少分,比较少!
改成get也不行!
我的request.setAttribute保存值了,所以不能用resopnse! 展开
改成get也不行!
我的request.setAttribute保存值了,所以不能用resopnse! 展开
展开全部
这个是一个重复提交的问题。
你可以这样做:
显示表单的时候在session中生成一个随机数
<%
Integer flag=new Integer(rand.nextInt());
session.setAttribute("flag",flag);
%>
<input type=hidden name="flag" value="<%=flag%>">
在提交时验证
Integer flag = new Integer(Integer.parseInt(request.getParameter("flag")));
if(flag.equals(session.getAttribute("flag")){
//更新数据
session.removeAttribute("flag");
}else{
//重复提交了,处理代码
}
你可以这样做:
显示表单的时候在session中生成一个随机数
<%
Integer flag=new Integer(rand.nextInt());
session.setAttribute("flag",flag);
%>
<input type=hidden name="flag" value="<%=flag%>">
在提交时验证
Integer flag = new Integer(Integer.parseInt(request.getParameter("flag")));
if(flag.equals(session.getAttribute("flag")){
//更新数据
session.removeAttribute("flag");
}else{
//重复提交了,处理代码
}
展开全部
你可以在servlet处理完成后,redirect去另外的jsp页面,不要forward
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
form 的 method改成get就不会了
在jsp中提交时,传给servlet一个标识,到sertvlet中将这个标识存入session。jsp中先获取一下这个标识,如果有,说明提交过,给个提示,否则没提交过
在jsp中提交时,传给servlet一个标识,到sertvlet中将这个标识存入session。jsp中先获取一下这个标识,如果有,说明提交过,给个提示,否则没提交过
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
从定向
参考资料: 天高云淡(◆ノSimply)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询