On Thu, Sep 24, 2009 at 7:22 PM, Andy Schwartz <andy.schwartz@oracle.com> wrote:

Should we consider placing some limits on what types of EL expressions are allowed/resolved?  For starters, possibly only provide access to #{resource} expressions?  If these are guaranteed to evaluate the same for each requested URL, we should be able to cache these resources.

Imposing such a limitation might also help us to reduce the chance of collisions with Prototype's use of #{}.

BTW, Weblets provides similar functionality:

https://weblets.dev.java.net/doc_11/longdoc/usageresources.html
 
Actually indeed it has been a while since weblets does provide only a simulation of el functions (which are provided on el level on the jsf side) which are basically there to be expanded 
into a neutral url. It was provided to ensure location independence of resources and intra bundle resource loading.

The caching only can work because the resources providing those urls
do not change within the scope of an application lifecycle.
 
The solution appears to be limited to resolving Weblet resource URLs (does not support arbitrary expressions).  This functionality is similar in scope to my suggestion above.


The question is what happens to jsfgetProjectStage() on the javascript side, which more or less has to rely on templating mechanisms to deliver the project stage. (A bypass for this one on codelevel is needed I assume, or we have to rely on a second request to get it )


Werner