myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aleksei Valikov <vali...@gmx.net>
Subject Weblets and AddResource
Date Wed, 06 Sep 2006 08:34:59 GMT
Hi.

Has anyone integrated Weblets into MyFaces via the AddResource?

I'm writing my own components that rely on some js/css. Weblets seem to be a 
right thing to manage resources. Seems much easier to use and configure than 
MyFaces analogs.

At the same time I consider taking advantage of positioning resources with 
AddResource. That is, I'd like to add a script once to the header even if it's 
used 200 times in a page.

A custom AddResource implementation could adapt Weblets to manage resources.

Another problem with AddResource is AJAXified components. For instance, with 
ajax4jsf.

Current implementation of (say) StreamingAddResource uses a very tricky approach 
to manage stylesheets:

1. You have to use this with t:documentHead which renders a link to 
pseudo-stylesheet. This links carries an unique id of the requst, for instance:

123/header.css.

2. When rendering the components, they may add some stylesheets to the header. 
These are gathered in some kind of a map associated with the request id (123).

3. After the rendered html is delivered to the client, the client requests the 
123/header.css.

4. This is intercepte by MyFaces which in its turn create a header.css with all the
@import url("my-style.css");
for styles that were added by the components.

Scripts are currently managed a bit differently, but I think this is also gonna 
change.

In my opinion, this is rather a tricky way to shut yourself in the head.

Why not simply pre-render body in a buffer (gathering the styles/scripts for the 
header or whatever), and then happily render the head with all the gathered 
resources? A combination of document/head/body components could easily do it. 
You only need a some tens of kbs buffer to pre-render the body...

So my question before I start implementing something myself is if anyone has 
done something in this direction, are there alternative AddResource 
implementations and so on.
Are these issues adressed in JSF 1.2 somehow?

Bye.
/lexi

Mime
View raw message