1

@Controller搜索引擎中:

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

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

我试过了"/search/{query:.+}",但还是不行。

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

4

2 回答 2

5

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

/search/w%3Frld
于 2012-06-04T10:36:52.293 回答
0

如果它只是一种方法:

Spring MVC - 如何在 Spring 控制器的地图中获取所有请求参数?

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

于 2013-08-23T19:08:44.020 回答