6

I have a simple, short question but not found the answer anywhere. I created an HttpSession and want to get an attribute from it, for example a User object.

HttpSession session = request.getSession(true);
Object userObject = session.getAttribute("name");
if ((userObject != null) && (userObject instanceof User)) {
    User currentUser = (User) userObject;
    ...
}

The question is the following: .getAttribute function gets a String name as parameter - what is the name? From where do I know the name? Is it predefined somewhere? - then where to define another one?

Thank you!

Display Name
  • 1,121
  • 2
  • 11
  • 14

2 Answers2

9

Usually, you add attributes to the session yourself like so:

User someObject = new User();
session.setAttribute("pickaName", someObject);

Then you can get the session and pull off this attribute using that same name you used earlier like so:

User sameObject = (User) session.getAttribute("pickaName");
LeHill
  • 449
  • 7
  • 13
0

.getAttribute function gets a String name as parameter - what is the name?

If you want to get attributes from Session, you need to set them to the Session before like so:

User aux = new User();
HttpSession session = new HttpSession();
session.setAttribute("myUserObject", aux);
User user = (User) session.getAttribute("myUserObject");
Julian
  • 344
  • 1
  • 11