今天项目需要带参数重定向,用到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") 必须加上 不然不能接受到参数
本文介绍如何在SpringMVC中实现带参数的重定向功能,并通过具体代码示例展示了如何使用RedirectAttributes来传递参数及如何在目标控制器中接收这些参数。
693

被折叠的 条评论
为什么被折叠?



