2010-02-18 140 views
2

我在Spring框架中使用Java。鑑於以下網址:Spring URL映射問題

www.mydomain.com/contentitem/234 

我需要的是來/contentitem/{numeric value}映射到與「數值」作爲參數傳遞給控制器​​通過給定控制器的所有請求映射。

現在在我的servlet容器的xml我有類似下面的簡單映射:

... 
<entry key="/index.html"> 
    <ref bean="homeController" /> 
</entry> 
... 

我只是想知道什麼,我需要添加到映射,以達到我的描述?

編輯:我接受的答案暫時因爲我似乎無法弄清楚如何做我的web.xml中的映射(我使用的註解如下axtavt的答案描述)。如何在我的<servlet-mapping>中添加適當的<url-pattern>..</url-pattern>,以便正確拾取「/ contentitem/{numeric_value}」的請求?謝謝!

回答

4

它可以通過基於註解的控制器配置進行(見15.3 Implementing Controllers):

@Controller 
public class ContentItemController { 

    @RequestMapping("/contentitem/{id}") 
    public ModelAndView contentItem(@PathVariable("id") int id) { 
     ... 
    } 
} 
+0

Thanks..but我的項目目前正在建立無註釋。任何方式,我可以得到解決方案,而不使用註釋? – oym 2010-02-18 18:36:53

+2

不可以。沒有註釋的話,沒有辦法配置路徑變量的提取。 – axtavt 2010-02-18 18:44:32

+0

真的嗎?哇,這令我感到驚訝...好吧謝謝你的幫助! – oym 2010-02-18 18:45:52

0

您必須導入org.springframework.stereotype.Controller

1

嘗試使用@RequestMapping和@PathVariable

@RequestMapping(value="/contentitem/{value}", method=RequestMethod.GET) 
public String demo(@PathVariable(value="nvalue") String name, ModelMap map) { 

int intValue = Integer.parseInt(nvalue); 

// Do manipulation 

return "something"; // Forward to something.jsp 
} 

關注此Spring MVC Framework Tutorial