使用斜杠请求映射占位符

时间:2012-08-01 23:42:15

标签: java spring spring-mvc

我想了解以下内容:

@RequestMapping( "/archive/{date}.html" ) // e.g. /archive/2012/08.html
public String listByDate( @PathVariable( "date" ) @DateTimeFormat( iso = ISO.DATE, pattern = "yyyy/MM" ) Calendar cal, ... )

但我刚收到404。

我想这是因为我试图在{date}占位符之间使用斜杠?

我需要在这做什么?

2 个答案:

答案 0 :(得分:4)

为什么不将{date}拆分为{year}/{month}

@RequestMapping( "/archive/{year}/{month}.html" )
public String listByDate( @PathVariable( "year" )...

答案 1 :(得分:3)

要在URL参数中包含“/”,它需要进行URL编码(否则它看起来像路径元素)。

如果您的请求看起来像这样:

/archive/2012%2F08.html