我尝试编写可以处理动态网址的控制器
这是控制器:
@RequestMapping( value = "/*/module/{file_id}" )
public String getModule( @PathVariable( "file_id" )
int fileId, Model model )
{
return "redirect:../*/module/" + fileId;
}
链接:
<a href="../module/${ file_id }" >Spring Tutorial</a>
它产生404: The requested resource is not available.
错误。我做错了什么?
答案 0 :(得分:0)
我认为您不能将星号作为路径占位符传递。我想你想要做的是使用路径变量,如下所示:
@RequestMapping( value = "/{prePath}/module/{file_id}" )
public String getModule( @PathVariable( "prePath" ) String prePath, @PathVariable( "file_id" ) int fileId, Model model ) {
}
您还可以将正则表达式传递给路径变量以进一步缩小匹配范围:
@RequestMapping( value = "/{prePath:[a-zA-Z]+}/module/{file_id}" )
public String getModule( @PathVariable( "prePath" ) String prePath, @PathVariable( "file_id" ) int fileId, Model model ) {
}
在我看来,这是一个很好的做法。