在搜索引擎的@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:.+}"
,但仍无效。
知道如何解决这个问题吗?
答案 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();