今天项目需要带参数重定向,用到RedirectAttributes
配置如下:
springmvc配置文件需要添加 <mvc:annotation-driven />
登录controller设置
@RequestMapping(method=RequestMethod.POST)
public String login(String username, String password,RedirectAttributes model, HttpServletRequest request){
try {
if(request.getSession().getAttribute("user") == null){
userService.saveUser(username, password);
request.getSession().setAttribute("user", username);
model.addFlashAttribute("username", username);//get请求但参数不可见
return "redirect:/login";
}
} catch (Exception e) {
e.printStackTrace();
logger.debug(e);
}
//返回根路径
return "redirect:/";
}
重定向后的controller设置
@RequestMapping(method=RequestMethod.GET)
public String login(@ModelAttribute("username") String username, HttpServletRequest request, Model model){
ShiroUser user = userService.findByUserName(username);
model.addAttribute("message","欢迎"+user.getUsername());
logger.debug("登录成功");
return "login/success";
}
接受重定向参数@ModelAttribute("username") String username @ModelAttribute("username") 必须加上 不然不能接受到参数