如何在URL中放置属性

时间:2016-09-18 18:00:15

标签: java spring-mvc httprequest url-mapping

我已经浏览了网址映射主题,但我无法找到解决问题的方法,尽管我确定不止一个人遇到过这种挫折。也许这很简单。

我有一个登录过程,当登录表单被提交时(用户和密码) 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;
}

非常感谢!

0 个答案:

没有答案