在Spring MVC 3中,如何将多个带有查询参数(“/ a”和“/ b?xyz”)的URL映射到一个处理程序?

时间:2011-08-23 19:41:27

标签: spring spring-mvc

“/ b”已经映射到另一个处理程序。 RequestMapping(value = {“/ a”,“/ b?xyz”})似乎不起作用。
谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

你可以试试这个:

@RequestMapping("/a")
public void yourMethodA() {
 // do the common controller logic
}

@RequestMapping(value="/b", params = "xyz")
public void yourMethodB() {
 yourMethodA(); // delegating the 1st mapped method
}

这样,您就不会重复自己,并且能够准确定义映射。

答案 1 :(得分:0)

如果要映射查询字符串参数,则不应在value的{​​{1}}成员中进行映射,而应在RequestMapping成员中执行:

params

当然,如果它还有param xyz,这只会匹配@RequestMapping(value={"/a", "/b"}, params = "xyz") public void yourMethod() { }