- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
下面给出的测试用例显示了一个简单的案例,其中我有 2 个参数 paramA
和 paramB
。
/paramtest
url,将调用 paramtest()
方法。paramA
输入 true
,将调用方法 aTrue()
。 paramA
和 paramB
输入 true
时,将调用方法 bTrueNotA()
。 但是第 3 个 @RequestMapping
调用 A=True
和 B!=true
。通过我的侦察,当两个参数都为真时,应该调用 aTrue()
。
@RequestMapping("paramtest")
@ResponseBody
public String paramtest(){
return "<html><head></head><body>" +
"<form action=paramtest method=post>" +
"paramA: <input type=text name=paramA /><br>" +
"paramB: <input type=text name=paramB /><br>" +
"<input type=submit>" +
"</form>" +
"</body></html>";
}
@RequestMapping(value="paramtest", params="paramA=true")
@ResponseBody
public String aTrue(){
return "A=true";
}
@RequestMapping(value="paramtest", params={"paramB=true", "paramA!=true"})
@ResponseBody
public String bTrueNotA(){
return "B=True; A!=true";
}
最佳答案
我认为这可能是 Spring 中的一个错误。我尝试了以下映射:
@RequestMapping(value="/paramtest", params={"paramA=true"})
@ResponseBody
public String function A() { return "A"; }
@RequestMapping(value="/paramtest", params={"paramA=true", "paramB=foobar"})
@ResponseBody
public String function B() { return "B"; }
@RequestMapping(value="/paramtest", params={"paramA=!true", "paramB=foo"})
@ResponseBody
public String function C() { return "C"; }
并使用带有以下参数的现有表单,这些是我得到的结果:
paramA=true
A() 按预期调用
paramA=true, paramB=foobar
B() 按预期调用
paramA=not_true, paramB=foo
404 页面,而不是预期的 C()。
我在 Tomcat 控制台上收到此错误:
WARN org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver 142 - No matching handler method found for servlet request: path '/paramtest', method 'POST', parameters map['paramB' -> array<String>['foo'], 'paramA' -> array<String>['not_true']]
所有这一切都在 Spring 3.0.5 中。请注意,myParam!=myValue
仅在 Spring 3.0.4 之后可用(3.0.3 doc 未列出该选项)。另外,我不认为 !myParam=myValue
是有效的,因为它没有在 current 3.0.5 documentation 中列出。 .
抱歉,这不是您问题的解决方案,但想分享我的调查:)
关于java - Spring @RequestParam 不能正确处理多个变量——示例测试用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5296164/
我最近购买了《C 编程语言》并尝试了 Ex 1-8这是代码 #include #include #include /* * */ int main() { int nl,nt,nb;
早上好!我有一个变量“var”,可能为 0。我检查该变量是否为空,如果不是,我将该变量保存在 php session 中,然后调用另一个页面。在这个新页面中,我检查我创建的 session 是否为空,
我正在努力完成 Learn Python the Hard Way ex.25,但我无法理解某些事情。这是脚本: def break_words(stuff): """this functio
我是一名优秀的程序员,十分优秀!