2014-11-05 33 views
0

我與2級不同的場景2箇中搜索輸入框一個jsp。所以,我有兩個不同的Get請求映射到/ search1和/ search2,但爲此只創建了一個POJO。 只要用戶提交的搜索,我檢查是否有針對任何結果,如果沒有我在模型中添加錯誤消息和「重定向」(重定向,因爲如果我只是返回一個頁面,現在做一個新的搜索網址將會是/ search1/search2)到相同的基本頁面。Spring MVC的保留錯誤meesage後重定向

但每次我加載頁面的錯誤信息仍然存在。 任何解決方法?如何僅在搜索時顯示messaeg?

+1

你能張貼您的控制器代碼? – woemler 2014-11-05 16:00:46

回答

1

使用閃光燈屬性。

http://viralpatel.net/blogs/spring-mvc-flash-attribute-example/

添加RedirectAttributes參數到控制器的處理方法。

然後redirectAttributes.addFlashAttribute("modelAttributeName", "value");

然後重定向

,你重定向到應有"modelAttributeName"模型屬性提供給它的控制器處理。

從本質上來說,您將一個值放入會話中,只要它在下一個請求中被讀取就會被刪除。

+0

Thanku so much ..正是符合要求..謝謝:) – shivani 2014-11-15 17:28:04

0

另一種解決方案是 您可以使用請求參數傳遞消息ID,並使用消息ID從重新定向控制器的get請求中讀取屬性文件中的消息。

控制器1

return "redirect:your_redirection_url?messageId=1"; 

控制器2(重定向)

if (messageid != null && !(messageid.equals(""))) { MessageUtility.addMessage(Integer.parseInt(messageid), model, locale); }