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项目中也没有做任何配置,但是能够正常的访问,所以就很懵

回复

共2条回复 我来回复
  • 源码货栈
    这个人很懒,什么都没有留下~
    评论

    给你的page前加个/试试,你不加/ 它默认是从你的当前controller里面去寻找,所以你要改成这样

    if (flag) {
                modelAndView.setViewName("redirect:/page/success");
            }else {
                modelAndView.setViewName("redirect:/page/error");
            }
            return modelAndView;
    
    0条评论
  • 代码向导
    这个人很懒,什么都没有留下~
    评论

    你这个user是什么?是不是在controller的类上面使用了@RequestMapping或者user是你的文件夹名字,如果是添加在类上面的话,方法下的路径都会带有user,如果是你的文件夹名字,那就给你的controller跳转路径上面加上user即可

    0条评论

发表回复

登录后才能评论