Carol,
I saw this behaviour as well when I tried changing the layout of the
default.jsp file. What I discovered is that apparently the ecsscreen
taghandler (the class that gets called to process the <jetspeed:ecsscreen>
tag element) apparently is not using the output stream of its parent
container, but using the base output stream. As a result the output
buffered in the parent stream doesn't show up until after the ecsscreen
output.
Since I was trying to put together a proof of concept demo before going on
holiday, I didn't look into the ecsscreen source code to see exactly what
the problem was, but I did find that adding the following immediately before
the <jetspeed:ecsscreen> tag allowed me to work around the problem and
continue my demo.
Add the following just before the <jetspeed:ecsscreen> tag:
<% out.flush(); %>
This will cause the parent buffer to be flushed before calling the ecsscreen
tag handler.
Cheers,
- Tim Taylor
> -----Original Message-----
> From: Carol Jones [mailto:[EMAIL PROTECTED]]
> Sent: Friday, December 29, 2000 11:31 AM
> To: JetSpeed
> Subject: strange problem with ecs screen element
>
>
> There is something very strange going on with
> EcsScreenElement. Somehow its
> markup is being put into the output stream in the wrong
> place. I have no
> idea what is wrong, but here is a test case to show the problem.
>
> First take the file default.jsp (from
> WEB-INF\templates\jsp\html) and strip
> out all the extra formatting until you have this:
>
> <%@ taglib uri='../../tld/template.tld' prefix='jetspeed' %>
> <html>
> <head>
> <base href="<jetspeed:uriLookup type="BaseURL" />">
> <link href="css/default.css" type="text/css" rel="stylesheet">
> </head>
> <body bgcolor="#ffffff">
> <jetspeed:jetspeedNavigation defaultTemplate="top_default.jsp"
> loggedInTemplate="top_loggedIn.jsp" />
> <jetspeed:jetspeedNavigation defaultTemplate="left.jsp" />
> <jetspeed:ecsscreen />
> <jetspeed:jetspeedNavigation defaultTemplate="bottom.jsp" />
> </body>
> </html>
>
> The page will display correctly, just not very pretty. Now insert some
> markup in between the <jetpseed:> tags, like this:
> ...
> <body bgcolor="#ffffff">
> <jetspeed:jetspeedNavigation defaultTemplate="top_default.jsp"
> loggedInTemplate="top_loggedIn.jsp" />
> <p>Hello 1</p>
> <jetspeed:jetspeedNavigation defaultTemplate="left.jsp" />
> <p>Hello 2</p>
> <jetspeed:ecsscreen />
> <p>Hello 3</p>
> <jetspeed:jetspeedNavigation defaultTemplate="bottom.jsp" />
> </body>
> ...
>
> When the page is displayed, you will see that Hello 2 and
> Hello 3 are both
> BELOW the ecscreen output, and when you view source from your
> browser, the
> markup is definitely wrong. I noticed this because I was
> trying to make a
> very elaborate page layout, but the tables were not coming
> out right. I'm
> not sure why it appears to work, maybe it's just the luck of
> how the tags
> are nested in default.jsp.
>
> The work around is the put the formatting tags inside the
> navigation files.
>
> Carol
>
>
>
>
> --
> --------------------------------------------------------------
> To subscribe: [EMAIL PROTECTED]
> To unsubscribe: [EMAIL PROTECTED]
> Search: <http://www.mail-archive.com/[email protected]/>
> List Help?: [EMAIL PROTECTED]
>
--
--------------------------------------------------------------
To subscribe: [EMAIL PROTECTED]
To unsubscribe: [EMAIL PROTECTED]
Search: <http://www.mail-archive.com/[email protected]/>
List Help?: [EMAIL PROTECTED]