簡體   English   中英

jsp forward / sendredirect問題

[英]jsp forward / sendredirect issue

給出兩個jsp: myFirstJsp.jspmySecondJsp.jsp

myFirstJsp.jsp從另一個表單接收提交參數,在DB中存儲一些值,如果一切都成功,則轉發到mySecondJsp.jsp ,發送如下的幾個參數:

<jsp:forward page="mySecondJsp.jsp">
<jsp:param name="param1" value='<%=request.getParameter("param1")%>'/>
<jsp:param name="param2" value='<%=request.getParameter("param2")%>'/>
</jsp:forward>

一切正常,但如果用戶按F5或刷新頁面,將發生異常,因為URL仍將指向“myFirstJsp.jsp”,因此基本上會發生重復的插入異常,我想阻止這種情況。

可用的另一個選項是使用sendRedirect而不是forward,如下所示:

response.sendRedirect( "mySecondJsp.jsp?param1=somevalue&param2=somevalue" );

但是,在這種情況下,參數對用戶是可見的,雖然通常它們不會改變它們,但我也需要防止這種情況。

有什么辦法可以避免這兩種情況嗎?

您可以使用以下命令在myFirstJsp.jsp中設置請求參數並在mySecondJsp.jsp上獲取它:

request.setAttribute("param_name","param_value");
request.getAttribute("param_name");

類似地,您可以將值放在會話中。

但是,如果您想要防止表中的記錄重復,那么您可以在數據庫中編寫一個過程來處理這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM