我有一个处理特定网址的控制器
@RequestMapping(value= {"/myurl"})
public ModelAndView handleMyURL()
相反,我希望有2个独立的控制器,让我根据传递给它的参数来处理这个/ myurl。
如果网址为
/myurl?a=1
转到控制器A,否则使用控制器B. 有没有办法做到这一点?
我发现了类似的问题Spring MVC - Request mapping, two urls with two different parameters 有人提到“在misc控制器中使用一个方法,根据请求参数调度到不同的控制器(注入)。” ,我该如何实现呢?
答案 0 :(得分:7)
控制器1
@RequestMapping(value= {"/myurl"}, params = { "a" })
public ModelAndView handleMyURL()
控制器2
@RequestMapping(value= {"/myurl"}, params = { "b" })
public ModelAndView handleMyURL()
请查看this post的第4章了解更多详情
答案 1 :(得分:-3)
@Controller
@RequestMapping(value= {"/myurl"})
public TestController{
@Autoware
private TestAController testAController;
@Autoware
private TestBController testBController;
public void myMethod(String a){
if(a.equals("1"){
testAController.foo(a);
}else{
testBController.foo(a);
}
}
}
@Controller
@RequestMapping(value= {"/myurl1"})
public class TestAController{
public void foo(String a){
...
}
}
@Controller
@RequestMapping(value= {"/myurl2"})
public class TestBController{
public void foo(String a){
...
}
}