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:
https://issues.apache.org/jira/browse/COCOON-1418
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");
//...ad nauseum
form.createBinding("cocoon://binding.jx");
...then in your jx template:
<jx:set var="param1" value="${cocoon.request.getAttribute('param1')}" />
<jx:set var="param2" value="${cocoon.request.getAttribute('param2')}" />
etc...
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]