cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jason Johnston <coc...@lojjic.net>
Subject Re: Using Variables/attributes in CForm/Ajax/Jexl
Date Mon, 06 Aug 2007 00:28:05 GMT
Dev at weitling wrote:
> My personal Hydra looks like this:
> 
...
> - My ${}'s in the template are either in the second run (Ajax) not
> evaluated or are filtered and therefore not redisplayed in the browser.
> 
> The last point is heavy weight for me. Hm, I could circumvent it by
> doing without Ajax, but it's soooo cool.


I assume you're talking about ${} expressions that are not within an 
ft:widget whose widget has been updated.  In that case you're correct 
the content will be filtered out by the BrowserUpdateTransformer.

You can, however, indicate to the BUTransformer that certain pieces of 
content should not be filtered out, by using the same mechanism the 
ft:widget macros use: wrap the content in a <bu:replace> element.  For 
instance:

<bu:replace>
    <span id="myContentId">${some.expression}</span>
</bu:replace>

Repeat that pattern for each piece of content you want sent back to the 
browser in the AJAX response.  You must set a unique id for each content 
element; you can optionally set it on the bu:replace element rather than 
the child element.

You might not want the content to be sent to the browser for every AJAX 
request, such as if it's not changing.  In that case you'd need to add 
extra logic to only create the bu:replace if the content has changed.

Hope that helps take care of one hydra head. ;-)
--Jason

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Mime
View raw message