svl*_*ada 9 java spring spring-mvc
是否有可能在Spring中有一个方法,每个方法有两个不同的URL,每个方法有不同的参数?
下面是伪代码
@RequestMethod(URL1-param1, URL2-param2)
public void handleAction(@ModelAttribute("A") A a, ...) {
}
Run Code Online (Sandbox Code Playgroud)
同时ULR1映射到其他一些控制器中
@RequestMethod(URL1)
public void handleAction1(@ModelAttribute("A") A a, ...) {
}
Run Code Online (Sandbox Code Playgroud)
Boz*_*zho 14
更新:看来你的问题完全不同了.
不,您不能在不同的控制器中使用不同参数的相同URL.并没有多大意义 - url指定资源或操作,并且在两个控制器(表示不同的行为)中不能以完全相同的方式命名.
您有两种选择:
原始答案:
不.但你可以有两种方法做同样的事情:
@RequestMethod("/foo")
public void foo(@ModelAttribute("A") A a) {
foobar(a, null);
}
@RequestMethod("/bar")
public void bar(@ModelAttribute("B") B b) {
foobar(null, b);
}
Run Code Online (Sandbox Code Playgroud)
如果我没有正确理解,并且您想要相同的ModelAttribute,那么只需:
@RequestMapping(value={"/foo", "/bar"})
Run Code Online (Sandbox Code Playgroud)
最后 - 如果您需要不同的请求参数,您可以使用@RequestParam(required=false)列出所有可能的参数.
| 归档时间: |
|
| 查看次数: |
18558 次 |
| 最近记录: |