N
Nino
Hi.
I have tried, and tried again to build a "Please wait..." loading page
in JSP. I have read all the posts I could find on the matter and
incorporated what seemed to be a set way to do this.
Here is the premise that just about every bit of information I
gathered suggested:
In the HEAD tag:
<STYLE>
#waitPage { position: absolute; }
#loadPage { position: absolute; visibility: hidden; }
</STYLE>
<SCRIPT language="JavaScript">
function initWait () {
if (document.layers) {
document.layers['waitPage'].visibility = 'hide';
document.layers['loadPage'].visibility = 'show';
} else if (document.all) {
document.all['waitPage'].style.visibility = 'hidden';
document.all['loadPage'].style.visibility = 'visible';
} else if (document.getElementById) {
document.getElementById('waitPage').style.visibility = 'hidden';
document.getElementById('loadPage').style.visibility = 'visible';
}
}
</SCRIPT>
In the body tag:
<BODY onload="initWait();">
Within the body...
<DIV id="waitPage">
This is where the graphics, or Please wait... text would go
</DIV>
<DIV id="loadPage">
This is where all the work goes (function calls, etc)
</DIV>
And that's it!!! Well, I tried this and it doesn't work. Is there
anything I'm missing? Does it matter what engine renders my JSPs
(Tomcat)? Does it matter what kind of work is being done? The type of
HTML that is built into the waiting DIV tag (for example, can I use
table tags?)?
Here is what I have in each DIV tag...
<DIV id="waitPage">
<BR><BR><BR><BR><BR>
<SPAN align="center">Please wait while your information is being
loaded...</SPAN>
<BR><BR>
<SPAN align="center"><IMG src="images/wait.gif" border="0"></
SPAN>
<BR><BR>
</DIV>
<DIV id="loadPage">
<%
session = request.getSession(true);
//session time-out clause
if ((session.isNew()) | (session.getAttribute("prop.primdb") ==
null)) {
session.invalidate();
response.sendRedirect("TimeOut");
return;
}
//If the info has not already been loaded, go ahead and set up the
information
if (!request.getParameter("ep").equals((String)
session.getAttribute("info.loaded"))) {
//If it wasn't loaded, it is now...
session.setAttribute("info.loaded", request.getParameter("ep"));
int uid =
java.lang.Integer.parseInt(""+session.getAttribute("user.id"));
LoadUserData lsd = new LoadUserData();
String setList[][] = lsd.getSets();
session.setAttribute("info.sel", setList);
String songsList[][] = lsd.getSongs();
session.setAttribute("info.sol", songsList);
String concertsList[][] = lsd.getConcerts();
session.setAttribute("info.cl", concertsList);
String bandsList[][] = lsd.getBands();
session.setAttribute("info.bl", bandsList);
LogicSongStatus lss = new LogicSongsStatus();
lss.generateSongs(session, "");
LogicBandMap lbm = new LogicBandMap();
lbm.generateMap(session);
}
if (request.getParameter("v").equals("s")) {
response.sendRedirect("sSongs.jsp");
} else if (request.getParameter("v").equals("m")) {
response.sendRedirect("sMap.jsp");
} else if (request.getParameter("v").equals("b")) {
response.sendRedirect("sBands.jsp");
}
%>
</DIV>
Thanks for sheding some light!
Nino
I have tried, and tried again to build a "Please wait..." loading page
in JSP. I have read all the posts I could find on the matter and
incorporated what seemed to be a set way to do this.
Here is the premise that just about every bit of information I
gathered suggested:
In the HEAD tag:
<STYLE>
#waitPage { position: absolute; }
#loadPage { position: absolute; visibility: hidden; }
</STYLE>
<SCRIPT language="JavaScript">
function initWait () {
if (document.layers) {
document.layers['waitPage'].visibility = 'hide';
document.layers['loadPage'].visibility = 'show';
} else if (document.all) {
document.all['waitPage'].style.visibility = 'hidden';
document.all['loadPage'].style.visibility = 'visible';
} else if (document.getElementById) {
document.getElementById('waitPage').style.visibility = 'hidden';
document.getElementById('loadPage').style.visibility = 'visible';
}
}
</SCRIPT>
In the body tag:
<BODY onload="initWait();">
Within the body...
<DIV id="waitPage">
This is where the graphics, or Please wait... text would go
</DIV>
<DIV id="loadPage">
This is where all the work goes (function calls, etc)
</DIV>
And that's it!!! Well, I tried this and it doesn't work. Is there
anything I'm missing? Does it matter what engine renders my JSPs
(Tomcat)? Does it matter what kind of work is being done? The type of
HTML that is built into the waiting DIV tag (for example, can I use
table tags?)?
Here is what I have in each DIV tag...
<DIV id="waitPage">
<BR><BR><BR><BR><BR>
<SPAN align="center">Please wait while your information is being
loaded...</SPAN>
<BR><BR>
<SPAN align="center"><IMG src="images/wait.gif" border="0"></
SPAN>
<BR><BR>
</DIV>
<DIV id="loadPage">
<%
session = request.getSession(true);
//session time-out clause
if ((session.isNew()) | (session.getAttribute("prop.primdb") ==
null)) {
session.invalidate();
response.sendRedirect("TimeOut");
return;
}
//If the info has not already been loaded, go ahead and set up the
information
if (!request.getParameter("ep").equals((String)
session.getAttribute("info.loaded"))) {
//If it wasn't loaded, it is now...
session.setAttribute("info.loaded", request.getParameter("ep"));
int uid =
java.lang.Integer.parseInt(""+session.getAttribute("user.id"));
LoadUserData lsd = new LoadUserData();
String setList[][] = lsd.getSets();
session.setAttribute("info.sel", setList);
String songsList[][] = lsd.getSongs();
session.setAttribute("info.sol", songsList);
String concertsList[][] = lsd.getConcerts();
session.setAttribute("info.cl", concertsList);
String bandsList[][] = lsd.getBands();
session.setAttribute("info.bl", bandsList);
LogicSongStatus lss = new LogicSongsStatus();
lss.generateSongs(session, "");
LogicBandMap lbm = new LogicBandMap();
lbm.generateMap(session);
}
if (request.getParameter("v").equals("s")) {
response.sendRedirect("sSongs.jsp");
} else if (request.getParameter("v").equals("m")) {
response.sendRedirect("sMap.jsp");
} else if (request.getParameter("v").equals("b")) {
response.sendRedirect("sBands.jsp");
}
%>
</DIV>
Thanks for sheding some light!
Nino