2013-06-24 21 views
1

在我的Java Web應用程序中,我使用了servlets(控制器)和JSP(視圖)和POJO類。我每隔10秒運行我的應用程序,並將所選URL的更新值從下拉列表存儲到數據庫中。在我的servlet中,我獲取這些值並轉發到JSP,它將顯示所選URL的更新值。我用我的JSP沒有從數據庫中使用servlet中的刷新標頭獲取更新值

response.setHeader("Refresh","10;url="+request.getContextPath+"/SiteAvailabilityServlet"); 

在這裏我的JSP看起來像:在頂部框架我有下拉列表。我選擇一個URL並單擊提交按鈕一次。所選選項(URL)的結果顯示在底部框架中。第二次以後,頁面將自動刷新使用上述setHeader(--)方法更新值應自動顯示在底部框架中。在我SiteAvailabilityServlet我正在選擇的網址爲

request.getParameter("urlsel");                             

通過手動選擇給予我在JSP(瀏覽器),第一次正確的選擇的URL。但是,當它撥打以上

response.setHeader(----); 

自動刷新它將urlsel爲空,並且不顯示更新的值。如何解決這個問題呢?請幫幫我。

即使如果我使用HTML元標記,它將從下拉列表中取空值。
請幫幫我。

回答

1

如果我正確理解你的問題,那麼問題是,你正在失去請求參數後第一時間您加載頁面。嘗試包括參數值進入整理的網址,例如:

response.setHeader("Refresh","10;url="+request.getContextPath+"/SiteAvailabilityServlet?urlSel=" + valueProdivedDuringTheFirstCall); 

因此,對於底部框架你的servlet的邏輯看起來像:

// parameter passed from top frame 
final String parameterName = "urlsel"; 
// read the value 
String url = request.getParameter(parameterName); 

// business logic, e.g. reading the stats and populating 
// the scope values to be provided to the view 

// provide url value as a parameter for refresh request 
response.setHeader("Refresh","10;url="+request.getContextPath+"/SiteAvailabilityServlet?urlSel=" + url); 
+0

這裏urlSel是參數名和值提供DuringTheFirstCall是參數值對嗎我可以取任何字符串名作爲urlSel(即參數名) – user2515189

+0

是的,它是參數的名稱和它的值。從頂部框架傳遞值時,您應該使用相同的名稱。 – udalmik

+0

我已經更新了一些附加信息的答案。 – udalmik

1

嘗試通過URSEL參數與SiteAvailabilityServlet

response.setHeader("Refresh","10;url="+request.getContextPath+"/SiteAvailabilityServlet?ursel="+urlsel); 
+0

感謝you..but,我應該用這個URSEL請幫助?我 – user2515189

+0

請gnanz ..請幫助我.. – user2515189

+0

您已經在SiteAvailabilityServlet中使用了嗎?你有沒有檢查過我包含在回答中的代碼?我將ursel作爲參數傳入。 – gnanz

相關問題