2013-01-20 59 views
1

我使用Spring MVC和我有這樣的問題:Spring MVC的網址有問題

每種方法在我的控制器返回一個jsp的名字,並作爲演講 - 都很好。問題是鏈接(hrefs)。該窗口的鏈接不會改變,相關鏈接會讓我到不需要的地方。

例如(不是真實的):

我有我可以通過訪問視圖:/test1/{id} 並且我通過/test1/{id}/update

訪問POST方法的更新視圖,節省,並返回第一查看(讓你回到查看屏幕)。 演示文稿是確定的,我可以看到更新的數據。但窗口URL沒有變化,如果我再次嘗試更新,我發送到這個位置:/test1/{id}/update/update.

我該如何解決這個問題?

回答

1

簡短回答:使用重定向!

必須使用重定向,同時做一些持久的事情。我猜你正在修改數據時,發佈到這些網址。所以你絕對需要使用重定向。這可以解決問題,當用戶在更新後刷新頁面時。你有沒有注意到瀏覽器關於重發數據的警告?

樣品的編號:

@RequestMapping("/test1/{id}/update") 
public ModelAndView update(@PathVariable("id") String id){ 
    // make an update 
    return new ModelAndView("redirect:/test1/" + id); 
} 

這將301或302的HTTP狀態發送給用戶。瀏覽器將立即關注重定向網址。請注意,您應該不使用視圖名稱,而使用網址。