Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Is it possible to set a session attribute in a JSP and then recall it when the page is loader at a later time?

Posted on 2009-05-04
8
Medium Priority
?
467 Views
Last Modified: 2013-11-24
Is it possible to set a session attribute in a JSP and then recall it when the page is loader at a later time?
My attribute is actually set below where it is gotten.  Its okay if the first load of the page is null but when the page is returned to in a minute or so, I would like to get the value when I reload the page.  Here is are the lines of code as they appear in my JSP:

My flag value is <%=  session.getAttribute("relatedCasesFlag")%>

<% session.setAttribute("myVisitFlag", Boolean.valueOf(true)); %>
0
Comment
Question by:jwright9
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 3
8 Comments
 
LVL 28

Expert Comment

by:rrz
ID: 24299619
Yes, a session-scoped object will be around for the whole session.  
Please restate your question. It is not clear.
0
 

Author Comment

by:jwright9
ID: 24299710
Sure I'll be glad to restate it.   I want to set a flag when a user first visits a page.  The flag is set to true and I put the value of myVisitFlag to true.

<% session.setAttribute("myVisitFlag", Boolean.valueOf(true)); %>

When the user visits the page again, the flag will be set to true.  In my page's JSP code, I have put the line you see below above the line where the value is put in the session.

My flag value is <%=  session.getAttribute("relatedCasesFlag")%>  

If the flag is true the page has been visited before and my other code behaves how I need it to when the page has been visited already.  Hope this helps.  Thanks for your help.

0
 
LVL 28

Expert Comment

by:rrz
ID: 24300063
I am still unclear as to what you are trying to do here.  You don't need to create a flag in order to know if the user has joined the session and has returned to the page. See code below here.
<html>
<body>
<%
  if(session.isNew()){
                      out.print("This is your first visit for this session.");
  }else out.print("This is a repeat visit for this session.");
%>
</body>
</html>

Open in new window

0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 

Author Comment

by:jwright9
ID: 24300108
I insert this code in my page but it did not work.  It definitely should work I would think.  I am working inside of RAD 7.  I ran the application in a separate browser and it still did not work.
0
 

Author Comment

by:jwright9
ID: 24300158
Oh one other thing.  I not concerned if the session is new or not.   I want a flag so that when the user goes up in the page "hierarchy" I can reset the flag so that things are reset back to normal until the user visits the page again and drills down into links on the page.
0
 
LVL 28

Accepted Solution

by:
rrz earned 2000 total points
ID: 24300387
Please try this code and tell us if it is closer to what you want to accomplish. I have shown two ways. Sometimes it is clearer  to use Strings instead of the Boolean object.
<html>
<body>
<%
  Boolean myVisitFlag = (Boolean)session.getAttribute("myVisitFlag");
  if(myVisitFlag == null){
                          session.setAttribute("myVisitFlag", new Boolean(false));
                          myVisitFlag = new Boolean(false);
  }
  if(myVisitFlag) out.print("This is a repeat visit for this session.");
  else{
       out.print("This is your first visit for this session or the flag has been reset.");
       session.setAttribute("myVisitFlag", new Boolean(true)); 
   }
%>
<br/>
<%
  String flag = (String)session.getAttribute("flag");
  if(flag == null){
                          session.setAttribute("flag", "false");
                          flag = "false";
  }
  if("true".equals(flag)) out.print("This is a repeat visit for this session, using String flag.");
  else{
       out.print("This is your first visit for this session or the flag has been reset, using String flag.");
       session.setAttribute("flag", "true"); 
   }
%>
</body>
</html>

Open in new window

0
 

Author Comment

by:jwright9
ID: 24336508
This helped thanks rrz@871311.  There was a process that was clearing out the "unregistered" name value pairs from the session.  I really appreciate the effort that you put forth and the example code helped me understand the situation much better.  Cheers.
0
 

Author Closing Comment

by:jwright9
ID: 31577774
This person is a great teacher.  
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article describes how to create custom column layout styles for Bootstrap. The article uses 5 columns to illustrate the concept, but the principle can be extended to any number of columns.
Not sure what the best email signature size is? Are you worried about email signature image size? Follow this best practice guide.
In this tutorial viewers will learn how to style transparent/translucent elements using alpha transparency in CSS Start with a normal styled element, such as a div.: Define its "background-color" property as "rgba (255, 255, 255, .5): The numbers in…
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

636 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question