springboot中两个controller跳转,拼接上了第一个controller的value值,导致第二个controller中的方法访问不到
论文问答
1
@RequestMapping("/login")
public ModelAndView login(String name,String password){
ModelAndView modelAndView = new ModelAndView();
boolean flag = userService.userLogin(name,password);
if (flag) {
modelAndView.setViewName("redirect:page/success");
}else {
modelAndView.setViewName("redirect:page/role");
}
return modelAndView;
}
@RequestMapping("/success")
@ResponseBody
public String success(){
return "success!";
}
预期的访问路径应该为locahost:8080/page/success,但是运行后的访问路径为localhost:8080/user/page/success 想请问是不是需要配置访问路径的设置,但是我在另一个springboot项目中也没有做任何配置,但是能够正常的访问,所以就很懵
-
给你的page前加个/试试,你不加/ 它默认是从你的当前controller里面去寻找,所以你要改成这样
if (flag) { modelAndView.setViewName("redirect:/page/success"); }else { modelAndView.setViewName("redirect:/page/error"); } return modelAndView;
-
你这个user是什么?是不是在controller的类上面使用了@RequestMapping或者user是你的文件夹名字,如果是添加在类上面的话,方法下的路径都会带有user,如果是你的文件夹名字,那就给你的controller跳转路径上面加上user即可
发表回复