Solved

Keeping values after refreshing...

Posted on 2004-09-07
12
282 Views
Last Modified: 2010-04-01
Hi, I am creating a jsp file that has a checkbox and a select box.  There are also two buttons: one "Run" button that will run something give the choices in the checkbox and select box, and the second "Apply Settings" button applies the settings so that if a user presses the "Run" button, the choices that the user picked right before clicking apply settings will be in affect.  Is there a way to keep the choices selected (choices that the user choose after clicking the "Apply Settings" button) even when the user performs a refresh on the page?  Currently, if the user clicks refresh, all the default values are selected.

If possible, please provide some sample code. Any comments or suggestions are well appreciated.

Thanks,
noijet.
0
Comment
Question by:noijet
  • 8
  • 4
12 Comments
 
LVL 21

Expert Comment

by:MogalManic
ID: 12001278
The only way to persist attributes accross multiple requests is to store the values on the session.  Maybe something like this...

<form name='runForm' method='post'>
<input type='checkbox' name='checkbox1'
    <%if (session.getAttribute('checkbox1')!=null) {
        %>checked='true'<%
     }%>/>
<input type='button' name='run' value='run' onclick='javascript:run()'/>
<input type='button' name='Apply' value='ApplySettings' onclick='javascript:apply()'/>
</form>
<%
  if (request.getMethod().equals("POST") {
     if (request.getAttribute("checkbox1")!=null)
       session.setAttribute("checkbox1", request.getAttribute("checkbox1"));
  }
%>
0
 

Author Comment

by:noijet
ID: 12008013
Thank you MogalManic, I am currently on another urgent project, but I will get back as soon as possible, thanks again!

-noijet
0
 

Author Comment

by:noijet
ID: 12019275
Hi MogalManic, thanks for your comment and sorry for the delay !.  

Is there a way to do this using hidden fields or cookies?  I have always thought cookies are like sessions, am I right?

Thanks,
noijet.
0
 
LVL 21

Expert Comment

by:MogalManic
ID: 12022209
Oh yea,

Sometimes the simplest solutions are the best!  I don;t have time right now to do a full blown and tested page but it would be something like this:

<body onload='setOptions()'>
<form name='runForm' method='post'>
<input type='checkbox' name='checkbox1' >
<input type='button' name='run' value='run' onclick='javascript:run()'/>
<input type='button' name='Apply' value='ApplySettings' onclick='onclick='setCookie("checkbox1", "this.checked", (new Date())+5000 /*5 seconds from now*//)'/>
</form>


To answer your cookie & session question:
The Java servlet uses cookies for the Session ID and the session data is then stored on the server and mapped to the user via the session ID.  This means that sessions are a little more secure than cookies because the user does not directly know what is stored.  If you use an all cookie solution, then the user CAN (probably does not know how) view the cookies on his hard drive.
0
 

Author Comment

by:noijet
ID: 12030959
Thank you for your very informative and excellent answer MogalManic.  Regarding cookies, what risk would it be to allow users to view the cookies on his hard drive, could the user use that to break into my server or something?  I would probably store the user's name, address so that the user doesn't have to type it again on another page or for some other action.

Thank you,
noijet.
0
 
LVL 21

Accepted Solution

by:
MogalManic earned 180 total points
ID: 12031070
no, the cookies just would be the data the client stored.  The client would just know more details on how your page works.  They could manually change the cookie data W/O going through your page.
0
IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 

Author Comment

by:noijet
ID: 12031108
Thanks MogalManic, so if they do manually change the cookie data, they would only be doing this on their own local machines?

Thanks,
noijet.
0
 

Author Comment

by:noijet
ID: 12031602
Hi MogalManic, an off-topic question, do you know how to get an image next to the web address, sort of like how experts-exchange has it?

(I didn't want to write another question, but I added some points though)
Thanks noijet
0
 
LVL 21

Expert Comment

by:MogalManic
ID: 12034173
I'm not sure that I understand the question.  Do you mean this:
   <a href='/nextImage><img src="next.gif"></a>
0
 

Author Comment

by:noijet
ID: 12055404
Thanks MogalManic for your comment, I meant on the Address bar near the top of our webbrowser.  On the left side of "http://www.experts-excha..., there is a image, can we change that?

Thanks again,
noijet.
0
 

Author Comment

by:noijet
ID: 12143327
Hi, I currently have a question open regarding using Tomcat and ServletExec Application servers, if you have some comments please check out question:  "Working with Tomcat and ServletExec on IIS..."     http://experts-exchange.com/Web/Web_Servers/IIS/Q_21143102.html

Thank you !
noijet
0
 

Author Comment

by:noijet
ID: 12435118
Hi everybody !  If possible, can you take a look this question regrading a mysterious scrollbar appearing in Netscape 7.2 but not in Netscape 7.1 or IE?  

At link: http://www.experts-exchange.com/Web/Web_Languages/HTML/Q_21186370.html

Thank you !
noijet
0

Featured Post

Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
JTable - RowFilter & Columns Header. 3 136
JSP Popup page 2 95
String format issue 13 88
maven project jars 7 46
In this article, I will show you HOW TO: Suppress Configuration Issues and Warnings Alert displayed in Summary status for ESXi 6.5 after enabling SSH or ESXi Shell.
Find out what the Office 365 disclaimer function is, why you would use it and its limited ability to create Office 365 signatures.
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.
This video demonstrates how to create an example email signature rule for a department in a company using CodeTwo Exchange Rules. The signature will be inserted beneath users' latest emails in conversations and will be displayed in users' Sent Items…

747 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

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now