Spring MVC中@PathVariable中的问号?

时间:2012-06-04 10:14:02

标签: spring-mvc path-variables

在搜索引擎的@Controller内:

@RequestMapping(value = "/search/{query}", method = RequestMethod.GET)
public String search(@PathVariable String query) {}

如果用户想要搜索/search/w?rld(它应匹配world,warld,whrld等),则变量query等于w,因为问号表示{ GET var。

我尝试了"/search/{query:.+}",但仍无效。

知道如何解决这个问题吗?

2 个答案:

答案 0 :(得分:5)

问题不在Spring配置中。它在URL中。问号是指示查询字符串开头的符号。如果它是URL的一部分,则必须对其进行编码:

/search/w%3Frld

答案 1 :(得分:0)

如果只是一种方法:

Spring MVC - How to get all request params in a map in Spring controller?

将WebRequest req添加到您的签名方法中 然后 Map parameters = req.getParameterMap();