2013-03-30 26 views
0

我有一個JSP頁面來搜索客戶。該頁面調用控制器,該控制器執行一種方法返回客戶列表,並在轉發到原始URL之後;如何使用RequestDispatcher foward保持url請求?

我用來轉發:request.getRequestDispatcher(urlOrigin).forward(request,response);

(注1:request.getHeader( 「引薦」)來獲得完整的源URL)

(注2:有分裂的完整源URL,並獲得名字頁面的方法)

因爲它,我在browsear以下網址:

(http://domain/ProjetoT/mvc) 

它我的控制器的URL

如果我搜索一個客戶再次將無法正常工作,因爲控制ler網址將被識別爲原始網址。

我嘗試過使用:response.Sendredirect(urlOrigin);

但是我失去了我的對象,客戶列表沒有呈現。

任何人都可以幫助我嗎?

謝謝!

回答

0

不是直接在瀏覽器中直接訪問JSP頁面,而是通過用於處理搜索的相同控制器訪問它。要做到這一點,您必須對控制器進行編程,以檢測您是處於初始顯示模式還是處於「提交」模式。這通常是通過檢查提交中發送的參數的存在來完成的。

因此,在初始顯示模式下,您的控制器只需轉發到JSP而無需進一步處理,而在提交模式下,它將完成目前的工作。這樣你就可以在初始顯示和提交時使用相同的URL,並且你描述的問題應該消失(也就是說,如果我正確理解你的問題)。