Re: Client side waiting & timeout
- From: Thomas 'PointedEars' Lahn <PointedEars@xxxxxx>
- Date: Fri, 02 May 2008 21:18:58 +0200
Simon_21 wrote:
I have a servlet which is invoked from a jsp page. While the serlvet
is executing, the jsp page is waiting for the servlet to complete.
When the servlet completes, it informs the waiting jsp to redirect to
another page. The waiting jsp has implemented onload which will
redirect to the page informed by the servlet
Server : (tomcat 6.0), Browser - IE 6.0, OS - WinXP
When the servlet takes a long time to return, the page is not
redirected. It seems the browser has given up on the request or timed
out . If the servlet comes back quickly, it works fine. The problem is
seen when the servlet takes a long time to finish.
//waiting jsp code
Almost irrelevant.
var tab = FindElementById( "dynamicDisplay" ) ;
Where is FindElementById() defined, and why does it have an identifier that
suggests a constructor or a factory?
if( Number( x ) == 0 )
This is pointless. Unlike Java, ECMAScript implementations implement `=='
as a type-converting comparison that implicitly does more efficiently what
you write explicitly here.
else if( Number( x ) == 1 )
[aso.]
Very inefficient and hard to maintain. Consider this instead:
if (x >= 0 && x <= 4)
{
tab.innerHTML = display_val+ "...." +display_end;
y = (x + 1) % 5;
}
window.setTimeout( "dynamicDisplayScript(" + y + ", '" + info
+ "' )", wait );
You might want to use the well-supported (JavaScript 1.2+, NN 3+, IE 5+)
window.setTimeout(
function() {
dynamicDisplayScript(y, info);
},
wait);
instead. However you do it, don't forget to store your timeout and clear it
onunload.
<% String url = ( String )request.getAttribute( "RedirectURL"); %>
Isn't that even pointless in Java? I suppose request.getAttribute() already
returns a reference to a String object -- why the typecast?
window.location = url;
This is not going to work, of course. The client-side script does not know
about the server-side `url' variable. You will need to do something like
<%= "window.location = '" + request.getAttribute("RedirectURL"); + "';" %>
i.e. the server-side script generating client-side code. Don't forget to
properly escape the variable value or your client-side string literal might
break.
[...]
Appreciate any help
Redirect server-side instead.
BTW, your generated markup is not Valid. See http://validator.w3.org/
PointedEars
--
realism: HTML 4.01 Strict
evangelism: XHTML 1.0 Strict
madness: XHTML 1.1 as application/xhtml+xml
-- Bjoern Hoehrmann
.
- References:
- Client side waiting & timeout
- From: Simon_21
- Client side waiting & timeout
- Prev by Date: Re: setTimeout() ignored in loop
- Next by Date: iframe losing reference to top?
- Previous by thread: Client side waiting & timeout
- Next by thread: setTimeout() ignored in loop
- Index(es):
Relevant Pages
|