在Struts的Action中使用response.sendRedirect("url")
主要是為了解決在頁面中提交表單後,用戶再次刷新會重復提交的問題。
在解決此問題使用過以下幾種方法:
1.在頁面的JavaScript中直接加入提交狀態值去判斷的辦法,但是對於F5刷新無效。
2.在頁面右加入session.putValue("pagestate","*.jsp");
然後在Struts的Action中--
HttpSession session=request.getSession();
session.getValue("pagestate");
if(pagestate=="Over")
{
//映射至錯誤頁面
return mapping.findForward("error");
}
else
{
session.putValue("pagestate","Over");
//....再執行其它業務
//最後映射至原頁面
return mapping.findForward("原頁面映射");
}
這種辦法(2)也行不通,mapping.findForward應該是使用的請求重定向,因此刷新後還是會重復提交。
3.想使用response.sendRedirect("url")來進行響應轉發,但是會報錯(Unreachable code)
哪位大蝦有解決的辦法?