Spring Servlet从* .html映射到SO类型映射

时间:2011-05-16 16:38:53

标签: java servlets spring-mvc mapping

我有一个带有一个servlet的spring应用程序,其中包含* .html的url-mapping。使用带注释的控制器,一切都很好。

我的问题是如何设置我的servlet和带注释的映射来模仿像StackOverflow这样的URL?

我想去一个没有扩展名的网址,如果可能的话,在最后的/.

之后添加一个描述

示例:

我目前有:

/appName/parm1/parm2/pageName.html

我想

/appName/parm1/parm2/pageName/description

这是可能的,我需要对注释的控制器做些什么?

由于

1 个答案:

答案 0 :(得分:1)

您应该能够将调度程序servlet映射到/ *或类似的东西,然后使用@PathVariables从URI获取所需的信息。查看http://static.springsource.org/spring/docs/current/spring-framework-reference/html/mvc.html并搜索@PathVariable。这是该页面的一个例子

@RequestMapping(value="/owners/{ownerId}/pets/{petId}", method=RequestMethod.GET)
public String findPet(@PathVariable String ownerId, @PathVariable String petId, Model model) {
  Owner owner = ownerService.findOwner(ownerId);  
  Pet pet = owner.getPet(petId);  
  model.addAttribute("pet", pet);  
  return "displayPet"; 
}

从请求uri读取ownerId和petId。