我在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}”请求?谢谢!
答案 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
}
答案 2 :(得分:0)
您必须导入org.springframework.stereotype.Controller
。