大哥,麻烦帮我解读下这段代码

大哥,麻烦帮我解读下这段代码

@RequestMapping("/userInfo")
public String userInfo(HttpSession session,Map<String, Object> map){
    User user=(User)session.getAttribute("user");
    System.out.println(user.getAddress());
    map.put("user",user);
    return "user";
}

我在login的方法当中,setAttribute了

@RequestMapping("/login")
public String login(HttpSession session, @RequestParam("username") String username, @RequestParam("password") String password) {
    User user = globalBiz.login(username, password);
    if (user==null){
        return "redirect:to_login";
    }
    session.setAttribute("user", user);
    return "redirect:/message/list";
}

然后,我执行了修改数据

@RequestMapping(value = "/editUser")
public String editUser(User user){

    userBiz.edit(user);
    return "redirect:/message/userInfo";
}

接着又跳回到userInfo,发现展示出来的数据是上一次的数据,而数据库里面的则更新了。

这个session是存储一次性的数据吗? 还是我的逻辑有问题?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕阿莹 2018-10-17 14:31:22

同学这个是自己写的案例么?

同学试试在

@RequestMapping(value = "/editUser")
public String editUser(User user){
 
    userBiz.edit(user);
    return "redirect:/message/userInfo";
}

代码中,在 return之前,把传过来的user再存储一下呢?

session.setAttribute("user", user);

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 广州麻辣牛杂档 #1
    那也就意味着,session每次存储的信息都是固定的吗?需要reset才能更新对吗?
    2018-10-18 11:03:16
  • 举个例子,如果你的world文档修改了,是不是需要再保存一下呢? session.setAttribute("user", user); 就是把新的user再保存进去。 如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
    2018-10-18 14:14:07
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
SSM主流框架入门与综合项目实战2018版
  • 参与学习           人
  • 提交作业       205    份
  • 解答问题       4317    个

Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师