Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java @RequestMapping控制器和动态URL_Java_Spring Mvc - Fatal编程技术网

Java @RequestMapping控制器和动态URL

Java @RequestMapping控制器和动态URL,java,spring-mvc,Java,Spring Mvc,我想使用Spring MVC@RequestMapping注释将我的控制器以如下方式附加到请求: @RequestMapping(method = RequestMethod.GET, value="/prod/{value:.+}/show") public String getProduct( @PathVariable("value") String value, ModelMap modelMap, HttpServletRequest request

我想使用Spring MVC
@RequestMapping
注释将我的控制器以如下方式附加到请求:

@RequestMapping(method = RequestMethod.GET, value="/prod/{value:.+}/show")
 public String getProduct(
        @PathVariable("value") String value, 
        ModelMap modelMap, HttpServletRequest request, HttpServletResponse response) { 
        ...
 }
什么时候会收到请求

(..)/prod/foo/show
我的值变量将具有
foo

什么时候会收到请求

(..)/prod/foo/bar/show
我的值变量将具有
foo/bar


有办法吗?支持哪些
@RequestMapping
通配符?

您可以使用正则表达式。尽管你可能不得不做一些逃避。签出。

如果我理解得很好,您需要从视图向控制器传递一个字符串,例如,包含一些野生字符的字符串。 当您在控制器上收到此字符串时,您将只找到野生字符之前的值

这种行为很有意义,因为您不能在url中添加“.”或“/”、“#”。 如果您使用的是freemarker,可以使用?url:http://freemarker.sourceforge.net/docs/ref_builtins_string.html#ref_builtin_url

此外,“.”,如您在此处看到的圆点:
没有ASCII十六进制等效代码,因此您需要将其从代码更改为类似于“#”的代码,以便从视图传递到控制器。

看看这个:是的-它实际上不满足我的需要:(已经在这里检查了其他方法,SOIt在Spring 3.1中得到了修复。用于解析@RequestMapping参数的默认模式是什么?我已经添加了点(如上所示)被包括在内。这个模式是以增量方式还是绝对方式构建的,我必须从头定义所有正则表达式?你能澄清一下增量和绝对的含义吗?我的意思是,如果我放一些正则表达式,它会覆盖默认模式还是与它结合起来?根据我告诉你的讨厌的解决方法,使用#,忘记它,使用地址: