jsp使用session.getattribute
时间: 2023-05-01 18:04:45 浏览: 75
Q: 如何使用 session.getattribute?
A: session.getattribute 是 Java 中用于获取 Session 中存储的属性值的方法,可以根据指定的属性名获取其对应的值。使用时,需要先获取到当前用户的 Session 对象,然后通过调用 session.getattribute 方法并传入属性名作为参数,从而获取到所需的属性值。
相关问题
switch (method){ case "findAll": if(session.getAttribute("userName")!=null){ String userName= (String) session.getAttribute("userName"); String userId= userRepository.finduserId(userName); List<Contact> list = contactRepository.findAll(userId); req.setAttribute("list_contact",list); System.out.println(list); req.getRequestDispatcher("/index.jsp").forward(req,resp); // if (session.getAttribute("userName")!=null){ // req.getRequestDispatcher("/index.jsp").forward(req,resp); // } // else if(session.getAttribute("adminuserName")!=null){ // req.getRequestDispatcher("/adminAdress.jsp").forward(req,resp); // } } else if(session.getAttribute("adminuserName")!=null){ String userName= (String) session.getAttribute("userName"); List<Contact> list = contactRepository.findAll(); req.setAttribute("list_contact",list); System.out.println(list); req.getRequestDispatcher("/adminAdress.jsp").forward(req,resp); // if (session.getAttribute("userName")!=null){ // req.getRequestDispatcher("/index.jsp").forward(req,resp); // } // else if(session.getAttribute("adminuserName")!=null){ // req.getRequestDispatcher("/adminAdress.jsp").forward(req,resp); // } } break; case "deleteById": String id = req.getParameter("id"); contactRepository.deleteById(id); resp.sendRedirect("contact"); break;
这段代码使用了switch-case语句来处理不同的method参数值。
在"findAll"的情况下,代码首先检查session中是否存在"userName"属性。如果存在,则获取该属性的值作为userName,并通过userRepository.finduserId方法获取对应的userId。接着,调用contactRepository.findAll(userId)方法来获取该用户的所有联系人信息,并将结果存储在名为"list_contact"的request属性中。然后,通过req.getRequestDispatcher方法将请求转发到"/index.jsp"页面,以显示联系人列表。
如果session中不存在"userName"属性,而存在"adminuserName"属性,则进入else if分支。在该分支中,直接调用contactRepository.findAll方法获取所有联系人信息,并将结果存储在名为"list_contact"的request属性中。然后,通过req.getRequestDispatcher方法将请求转发到"/adminAdress.jsp"页面,以显示管理员的联系人列表。
在"deleteById"的情况下,代码通过req.getParameter方法获取id参数的值,并调用contactRepository.deleteById方法来删除指定id的联系人信息。然后,通过resp.sendRedirect方法将请求重定向到"contact"页面,以继续执行其他操作。
需要注意的是,这段代码只是一个片段,其中的其他代码(如userRepository和contactRepository对象的实现)并没有完整地展示出来。你需要根据具体情况进行适当的修改和完善。
value="<%=session.getAttribute("user")!=null? session.getAttribute("user").toString():"未登录" %>"这条指令能干什么
这条指令用于在JSP页面中显示用户登录账号或者提示未登录状态。其具体作用如下:
1. 首先,通过`session.getAttribute("user")`获取Session中名为`user`的属性值。
2. 如果该属性值不为`null`,则将其转换为字符串并显示在页面中。
3. 如果该属性值为`null`,则显示`"未登录"`的提示信息。
这种写法可以简化JSP页面中的代码,使其更加简洁和易读。当用户登录成功后,可以将用户登录账号保存在Session中,然后在JSP页面中使用这条指令显示用户登录账号。如果用户未登录,则会显示默认的提示信息。