Hi List,

I tried giving a custom component a context (just a String) but when I go to 
use it on an event, I get the output to be [Ljava.lang.Object;@783b110a instead 
of "1234" which is what is set during rendering.

The output html looks a little strange compared to the component's tml - like 
I'm missing something:

<t:container xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd";>

        <div id="extension" t:context="${currentExtension.number}">

<div ns0:context="1234" id="extension" 
xmlns:ns0="http://tapestry.apache.org/schema/tapestry_5_3.xsd";>


I'm looking at the PageLink component and it's way of getting a context is as 
an Object[] rather than a simple String.
I'm guessing when it creates the link, there's some magic that happens 
underneath to create the "context" into whatever is used in the template to a 
valid portion of a URL

        Link link = resources.createPageLink(page, 
resources.isBound("context"), context);

        writeLink(writer, link);

Given my above output "[Ljava.lang.Object;@783b110a" - what's the trick to turn 
this object for t:context="${currentExtension.number}" into context="1234" so 
that the URL that tapestry spits out during the component event look like 
/christest/draggable6.extension.1234.voicemailzone:zonedrop/ISDN1  (where 1234 
is at the moment omitted)

Any hints would be very helpful!!

Cheers
Chris

Reply via email to