我已经浏览了网址映射主题,但我无法找到解决问题的方法,尽管我确定不止一个人遇到过这种挫折。也许这很简单。
我有一个登录过程,当登录表单被提交时(用户和密码) localhost:8080 / library / login控制器通向用户的主页面,我想做的就是在URL中设置用户名,如localhost:8080 / library / {username} / mainPage 它似乎与PathVariable或RequestParam无关,因为我尝试了很多方法来解决这个问题,但是我得到了400错误。
Bar Button Item
这导致了另一个控制器类
@RequestMapping(value="/mainPage", method = RequestMethod.POST)
public ModelAndView showMainPage(@Valid @ModelAttribute("loginUserForm") LoginUserForm loginUserForm, ModelAndView modelAndView, BindingResult result, final RedirectAttributes attributes){
logger.info("Showing login page.");
modelAndView.addObject(loginUserForm);
attributes.addFlashAttribute("loginUserForm", loginUserForm);
if(result.hasErrors()){
modelAndView.setViewName("login");
return modelAndView;
}
modelAndView.setViewName("mainPage");
return new ModelAndView("redirect:/mainPage");
}
我应该改变什么或者我想念什么?我想这个价值,但我不知道为什么
我错误地想出了这个:
@RequestMapping(value = "/{userName}/mainPage", method = RequestMethod.GET)
public @ResponseBody ModelAndView showMyArea(ModelAndView model, @ModelAttribute("loginUserForm") LoginUserForm loginUserForm, @PathVariable("email")String email){
logger.debug("Showing mainPage");
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("mainPage");
return modelAndView;
}
非常感谢!