描述
项目保存后直接进入承保界面调用’new ActionForward’时,由于是请求转发(服务器行为),导致页面右键刷新的时候,会重新插入一条信息。
//保存后直接进入承保界面
return new ActionForward("/mlPolicyTop.do?method=showTopPage&itemNo="+mlItemInfo.getItemNo()+"&feeType="+feeType);
解决
方法一
在原来的语句后面加个参数 true
return new ActionForward("/mlPolicyTop.do?method=showTopPage&itemNo="+mlItemInfo.getItemNo()+"&feeType="+feeType,true);
原因:最后加的true/false
意思为是否执行一个重定向(redirect)。(缺省情况下,这个值设置为false
,因为redirect
比forward
慢)。没有的时候不是重定向;只有加上true才是重定向。
方法二
response.sendRedirect("/biz/mlPolicyTop.do?method=showTopPage&itemNo="+mlItemInfo.getItemNo()+"&feeType="+feeType);
请求转发和重定向
1.请求重定向
客户端行为,response.sendRedirect()
等同于两次请求,地址栏的 URL 会改变
2.请求转发
服务器行为,request.getRequestDispatcher().forward(req,resp)
一次请求,地址栏的 URL 不会改变