簡體   English   中英

請求從一個JSP調度到另一個JSP

[英]Request dispatching from one JSP to another JSP

我目前正在從事付款網關等項目。 如果后端發生任何驗證錯誤,首先我想在我的jsp頁面(付款網關)上顯示錯誤消息,然后在10秒之后,我要從我的jsp將對象(錯誤代碼)分派給商家(商人的網頁)頁。

當前,當我嘗試在jsp頁面中調度和轉發時,我的錯誤消息/視圖內容未顯示在jsp中。 它沒有顯示我的錯誤消息,只是等待10秒鍾,然后將對象轉發給商家。 因為我希望我不要通過執行dispatch來在我的jsp中提交請求/響應對象。 如果我錯了糾正我。

請建議我一種處理這種情況的好方法嗎?

我正在嘗試在我的jsp頁面中這樣做。

 </head> <body> <form:form method="post" commandName="item"> <form:errors path="*" cssClass="errorblock" element="div" /> <tr> <td>Response Code :</td><td>${item.responseCode}</td> <%="test" %> </tr> <% Thread.sleep(10000); // sleep 10 seconds RequestDispatcher rd = request.getRequestDispatcher("/merchant.jsp"); //rd.include(request, response); rd.forward(request, response); %> </body> 

您無法將輸出發送到jsp,然后使線程休眠,在代碼執行完畢之前,網絡服務器不會發送輸出,因為我們看不到您的代碼,所以我假設您正在嘗試輸出錯誤,使線程休眠,然后發送重定向,所有要做的就是將其寫出,然后在將重定向發送到客戶端時立即發送重定向。

最好的選擇可能是使用javascript在將客戶端重定向到的頁面上發送重定向以顯示錯誤。

編輯:由於注釋格式很奇怪:servlet不會等待10秒然后發送重定向,因為所有處理都是在發送響應之前完成的,因此發送更多數據的唯一方法是使用javascript,或者其他一些奇怪的黑魔法,最簡單,最優雅的解決方案是:

<script type="text/javascript">
    window.location.replace("http://yourwebsite.com/merchant.jsp"); 
</script>

暫無
暫無

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

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