Spring MVC中的多个@PathVariable
Posted
技术标签:
【中文标题】Spring MVC中的多个@PathVariable【英文标题】:Multiple @PathVariable in Spring MVC 【发布时间】:2012-07-06 06:03:04 【问题描述】:很遗憾无法找到答案,希望有人能提供帮助。
在 Spring MVC 3.1.0 中,这是我的方法:
@RequestMapping(value = "/app/conf/fnm", method=RequestMethod.GET)
public ResponseEntity<?> getConf(@PathVariable String app, @PathVariable String fnm)
log.debug("AppName:" + app);
log.debug("fName:" + fnm);
...
return ...
我在网上看过一些例子,理论上有多个@PathVariables 似乎没有问题。
但是,当我这样做时,“app”和“fnm”都包含相同的值(这是分配给“app”的任何值)。
真的很感激有人可能对我哪里出错有任何见解?
谢谢!
【问题讨论】:
应该可以,你确定你的调用正确吗? 【参考方案1】:@RequestMapping(value = "/app/conf/fnm", method=RequestMethod.GET)
public ResponseEntity<?> getConf(@PathVariable("app") String app, @PathVariable("fnm") String fnm)
log.debug("AppName:" + app);
log.debug("fName:" + fnm);
...
return ...
基本上路径变量需要在方法参数中用括号指定。 这有帮助吗?
【讨论】:
对不起,我应该指定的。我已经在没有变量名的情况下进行了测试,使用了变量名并且还明确地尝试了(value="_some_pathvarname")。所有这些都会产生相同的结果:( @user1389920 :您是否尝试过使用不同值硬编码请求 url;例如:/XYZ/conf/ABC 然后检查映射到控制器的内容?这是为了验证请求的格式是否正确...... 谢谢,找到问题了。 fnm 被截断了,所以测试值看起来是一样的……抱歉,这个有点脑残。我现在有正确的正则表达式,它正在工作,谢谢大家的帮助!以上是关于Spring MVC中的多个@PathVariable的主要内容,如果未能解决你的问题,请参考以下文章
使用 Ajax 将 @RequestBody 中的多个变量传递给 Spring MVC 控制器
如何在 Java Spring Boot MVC 中使用 Ajax 删除多个项目
如何使用 Hibernate、Spring MVC 将数据从单个表单发送到多个数据库表