EDG__Clearlove 2020-02-24 20:09 采纳率: 0%
浏览 460

ssm如何将在handler里获取到的数据信息传递给所有其他的jsp文件?

我用ssm写了一个网上商城,目前需求是用户输入账号密码点击登陆后,handler
将数据库内该用户的id取出来,然后反馈给其他所有jsp界面。但是handler只能将id
retuen给指定的一个界面,其余的jsp就没办法接收到id,这样该怎么办呢。

以下为handler代码,获取到了uid,但只能传给index.jsp这一个界面,别的jsp获取不到,在别的jsp中输入 <%session.getAttribute("uid");%>得到的为null,只有在index中才会得到真正的uid

//如果账号密码都是正确的,则会有数据
if(dao.selectUserByNameAndPassword(user)!=null){
            //获取该用户的用户ID
    int uid=dao.selectUserByNameAndPassword(user).getId();
    session.setAttribute("uid",uid);
    return "index";
}else{
    map.put("msg", "账号或密码错误!");
    return "login";
}




  • 写回答

1条回答 默认 最新

  • 憧憬blog 2023-03-15 03:13
    关注

    您可以在handler中使用以下代码将uid存储到全局的session中,然后在其他jsp文件中通过session.getAttribute("uid")获取到该值:

    //如果账号密码都是正确的,则会有数据
    if(dao.selectUserByNameAndPassword(user)!=null){
        //获取该用户的用户ID
        int uid=dao.selectUserByNameAndPassword(user).getId();
        //将uid存储到session中
        request.getSession().setAttribute("uid", uid);
        return "index";
    }else{
        map.put("msg", "账号或密码错误!");
        return "login";
    }
    

    您可以在其他jsp文件中通过session.getAttribute("uid")来获取到该值,如下所示:

    <%
        int uid = (int) session.getAttribute("uid");
    %>
    

    或者通过EL表达式来获取到该值,如下所示:

    ${sessionScope.uid}
    
    评论

报告相同问题?

悬赏问题

  • ¥50 comsol稳态求解器 找不到解,奇异矩阵有1个空方程返回的解不收敛。没有返回所有参数步长;pid控制
  • ¥15 怎么让wx群机器人发送音乐
  • ¥15 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功