如何解决重定向在Spring控制器中不起作用
@Controller
@RequestMapping("/main")
public class SignInPageController {
private UserDao userDao;
@Autowired
public SignInPageController(UserDao userDao){this.userDao = userDao;}
@GetMapping("/menu")
public String mainMenuPage(){
return "main/menu";
}
@GetMapping("/signup")
public String signUpPage(Model model){
model.addAttribute("newuser",new User());
return "main/signup";
}
@PostMapping("/signup")
public String signUp(@RequestParam("name") String name,@RequestParam("password") String password,@RequestParam("email") String email,@RequestParam("nativeLanguage") String nativeLanguage){
User user = new User(name,password,email,nativeLanguage);
userDao.signUpUser(user);
return "redirect:/main/menu";
}
你能告诉我问题出在哪里吗?
解决方法
您似乎在public function render($request,Throwable $e)
{
if ($request->ajax() && $e instanceof MethodNotAllowedException) {
return response()->json([
"Please enter your token"
],405);
}
return parent::render($request,$e);
}
类上缺少@Controller
Spring注释。
所以你应该得到这样的东西:
SignInPageController
,
正如我在评论中所说:
您应该从控制器的方法中返回ModelAndView
类型,并返回诸如:
return new ModelAndView("redirect:/main/menu",model);
正如您所提到的,您也遇到了重定向错误的问题,请尝试使用已定义的常量来避免输入错误:)
如果您不熟悉Spring,请确保研究RedirectAttributes
,添加flashAttributes
,并检查Baeldung上的文档是否真的很完整。
祝你好运!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。