Spring URL映射问题

时间:2010-02-18 18:18:19

标签: java spring spring-mvc url-mapping

我在Spring框架中使用Java。鉴于以下网址:

www.mydomain.com/contentitem/234

我需要将映射到给定控制器的/contentitem/{numeric value}的所有请求映射到作为参数传递给控制器​​的“数值”。

现在在我的servlet容器xml中,我有类似于以下内容的简单映射:

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

我只是想知道我需要添加到映射中才能实现我所描述的内容?

编辑:我暂时没有接受答案,因为我似乎无法弄清楚如何在我的web.xml中进行映射(我使用的注释如下面的axtavt所述)。如何在<url-pattern>..</url-pattern>中添加适当的<servlet-mapping>,以便正确选择“/ contentitem / {numeric_value}”请求?谢谢!

3 个答案:

答案 0 :(得分:4)

可以使用基于注释的控制器配置来完成(参见15.3 Implementing Controllers):

@Controller
public class ContentItemController {

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

答案 1 :(得分:2)

尝试使用@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

答案 2 :(得分:0)

您必须导入org.springframework.stereotype.Controller