cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jason Johnston <>
Subject Re: [CFORMS] dynamic binding
Date Fri, 20 Jan 2006 14:00:08 GMT
werner wrote:
> Am Donnerstag, den 19.01.2006, 11:27 -0700 schrieb Jason Johnston:
>>> Does anybody know a clean approach for dynamic binding. For example it
>>> would be nice to use a JXTemplate for the binding and pass it some vars
>>> like it works with showForm:
>>> form.createBinding("binding.jx", {"param1": somevalue, "param2":
>>> somevalue});
>>> I know it's possible to solve this with a special pipline and call the
>>> binding with /binding.jx/param1/param2
>>> But that's ugly IMO.
> Thanks for your answer Jason.
>>Looks like somebody posted a patch for this feature:
>>In the meantime you can use request attributes or parameters as a
>>transport for your data.
> That's how I'm doing it right now. But in some cases that is not enough. 
> Especially when you want to pass more than 3 parameters to the binding.

You should be able to pass an arbitrary number of attributes.  I was 
thinking something like:

cocoon.request.setAttribute("param1", "value1");
cocoon.request.setAttribute("param2", "value2");
// nauseum

...then in your jx template:

<jx:set var="param1" value="${cocoon.request.getAttribute('param1')}" />
<jx:set var="param2" value="${cocoon.request.getAttribute('param2')}" />

This is untested but seems to me like it should work.

If you didn't want to pollute the request object with so many attributes 
you might be able to use a single request attribute with a JS object as 
its value: c.r.setAttribute("data", {param1:"value1", param2:"value2"}); 
you'd have to figure out how to traverse the JS object within the 
template... I think JXPath expressions could do so.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message