java吧 关注:1,197,908贴子:12,622,008
  • 39回复贴,共1

[求助]关于springMVC重定向传值问题,求大神指教

只看楼主收藏回复

控制器代码:
@RequestMapping(value = "/login", method = RequestMethod.POST)
public String login(@RequestParam String phoneNumber,
@RequestParam String password,Model model,RedirectAttributes attr) {
UserInfos userInfos = userInfosService.selectByPhoneNumber(phoneNumber);
if (null != userInfos && userInfos.getPassword().equals(password)) {
model.addAttribute("userInfos", userInfos);
return "index";
}
//model.addAttribute("msg", "用户名或密码错误!");
//attr.addAttribute("msg", "用户名或密码错误!");
attr.addFlashAttribute("msg", "用户名或密码错误!");
return "redirect:login.jsp";
}
页面端取值:
login.jsp
<c:if test="${!empty msg}">
<script type="text/javascript">
alert(${msg});
</script>
</c:if>


IP属地:上海1楼2015-01-14 11:13回复
    一致获取不到值,求大神帮忙~~~~~~


    IP属地:上海2楼2015-01-14 11:13
    回复
      model.addAttribute("msg", "用户名或密码错误!");用这种方法赋值也不行么?


      IP属地:广东3楼2015-01-14 11:19
      收起回复
        @独自等待910120 :
        用return "redirect:login.jsp" 可以跳转到登录页面,地址栏还是登录时的地址栏 .
        如果用return "login" 也可以跳转到登录页面,而且可以去到值,
        但是地址栏会变成XX/user/login
        这样的话,我重新输入用户名密码,
        点击登录时,action就变成XX/user/user/login(路径就不对了)


        IP属地:上海4楼2015-01-14 11:32
        回复
          人工置顶~~~~~~~~~~~~~~~~~~~


          IP属地:上海5楼2015-01-14 11:42
          回复
            人工置顶~~~~~~~~~~~~~~~~~~~


            IP属地:上海6楼2015-01-14 11:45
            回复
              人工置顶~~~~~~~~~~~~~~~~~~~


              IP属地:上海7楼2015-01-14 13:09
              回复
                控制器不用@controller注解嘛


                IP属地:四川8楼2015-01-14 13:48
                收起回复
                  @笑笑de幸福f
                  现在改成这样:
                  @RequestMapping(value = "/login", method = RequestMethod.POST)
                  public String login(@RequestParam String phoneNumber,
                  @RequestParam String password,Model model,RedirectAttributesModelMap attr) {
                  UserInfos userInfos = userInfosService.selectByPhoneNumber(phoneNumber);
                  if (null != userInfos && userInfos.getPassword().equals(password)) {
                  model.addAttribute("userInfos", userInfos);
                  return "index";
                  }
                  //model.addAttribute("msg", "用户名或密码错误!");
                  //attr.addAttribute("msg", "用户名或密码错误!");
                  attr.addFlashAttribute("msg", "用户名或密码错误!");
                  //return "redirect:/index.jsp";
                  return "redirect:tologin";
                  }
                  @RequestMapping("tologin")
                  public String tologin(){
                  return "login";
                  }
                  然后再login.jsp就可以取到值了,不知道为什么直接 return "redirect:/index.jsp"; 页面取不到值


                  IP属地:上海9楼2015-01-14 14:13
                  收起回复
                    ModelAndView的包导入错了就会出现页面没值的现象,这个类有两个包有


                    IP属地:湖北来自Android客户端10楼2015-01-14 14:48
                    收起回复
                      IP属地:四川11楼2015-01-14 15:32
                      收起回复
                        不会啊


                        IP属地:江苏12楼2015-01-14 15:50
                        收起回复
                          所以你得超链接要用绝对路径而不是相对路径


                          IP属地:浙江来自Android客户端13楼2015-01-14 17:36
                          回复