2012-05-16 78 views
0

我有我使用RequestParam和會話的Spring MVC

@RequestMapping(value = "/user", method = RequestMethod.GET) 
    public String getUser(@RequestParam("id"), Model model){ 

    } 

這意味着,當我給的網址/用戶?ID = 1

會給我帶回一些數據的一個問題。 現在在登錄中,我正在使用此ID,並將它保存在會話中。

session.setAttribute("userId", result.getBody().getId()); 

我希望當用戶點擊一個選項卡時自動將id與存儲在會話中的屬性綁定。即可以說userId的值爲1.然後,當我點擊該標籤自動重定向到:url/user?id = 1 我該怎麼做?

對於選項卡,我有這樣一條:

<a href="<c:url value='/user'/>" 

回答

1

你可以使用:

<a href="<c:url value='/user?id=${userId}'/>"> ...</a> 

和用SpringMVC,我建議你使用REST風格的URL像/usr/1, 上行動能

@RequestMapping(value = "/user/{id}") 
public String show(@PathVariable Long id, Model model) { 
    ... 
} 

//link 
<a href="<c:url value='/user/${userId}'/>"> ...</a> 
+0

非常close.actually我需要:。我需要導入:<%@ taglib prefix =「s」uri =「http://www.springframework.org/tags」%>但是你的邏輯是正確的+ 1.因爲Spring的和JSTL的 支持參數化的URL路徑。我剛發現它 –

1

Like @donnior asnwered @RequestMapping(value = "/user/{id}")是我來過的最棒的東西。 它提供了一種非常乾淨而安全的方式來導航到Spring中的url。

我建議你使用它。 :)

+0

我相信也是不錯的選擇 –

+0

絕對。它給你整潔乾淨的網址。 :-) –