Howard, Thiago,

Thanks for the responses.  I changed the zone declaration in then
component's java class to the correct type and used the @InjectComponent
annotation instead of @Inject (I must have incorrectly copy/pasted this from
an online example) and while the generated HTML source now contains the
zones specified as:

<div class="t-zone"
zone="org.apache.tapestry5.corelib.components.z...@278a2a" id="zone_1">

... rather than:

<div class="t-zone" zone="&lt;Proxy for
ComponentSource(org.apache.tapestry5.services.ComponentSource)&gt;"
id="zone_1">

... the behaviour where action links within one zone are updating another
still arises - the frequency is low (and appears less frequent though that
is subjective and probably incorrect) - it will happen perhaps once in 10
page refreshes.  

The href for the action links across ex. 3 zones should be generated as

_zone1_
http://localhost:8080/<domain>/<pageName>.<componenName>.<actionLinkId>/<act
ivationContext1>
http://localhost:8080/<domain>/<pageName>.<componenName>.<actionLinkId>/<act
ivationContext2>
_zone2_
http://localhost:8080/<domain>/<pageName>.<componenName>_0.<actionLinkId>/<a
ctivationContext1>
http://localhost:8080/<domain>/<pageName>.<componenName>_0.<actionLinkId>/<a
ctivationContext2>
_zone3_
http://localhost:8080/<domain>/<pageName>.<componenName>_1.<actionLinkId>/<a
ctivationContext1>
http://localhost:8080/<domain>/<pageName>.<componenName>_1.<actionLinkId>/<a
ctivationContext2>

... and instead has:

_zone1_
http://localhost:8080/<domain>/<pageName>.<componenName>.<actionLinkId>/<act
ivationContext1>
http://localhost:8080/<domain>/<pageName>.<componenName>.<actionLinkId>/<act
ivationContext2>
_zone2_
http://localhost:8080/<domain>/<pageName>.<componenName>_1.<actionLinkId>/<a
ctivationContext1>
http://localhost:8080/<domain>/<pageName>.<componenName>_1.<actionLinkId>/<a
ctivationContext2>
_zone3_
http://localhost:8080/<domain>/<pageName>.<componenName>_1.<actionLinkId>/<a
ctivationContext1>
http://localhost:8080/<domain>/<pageName>.<componenName>_1.<actionLinkId>/<a
ctivationContext2>

Is the componentName section of the generated actionlink href taken from the
componentZoneId section of the sample action link declaration below:

<a t:type="actionlink" t:id="xyzButton" id="prop:xyzButton"
context="relevant.context" href="#"
t:zone="${componentZoneId}">${xyz.displayText}</a>

I must be missing something obvious here.  Perhaps the way I have structured
my component there is some scenario where when the block is being rendered
the component id has not yet been updated / is somehow being shared?

Regards,
Jim.

-----Original Message-----
From: Howard Lewis Ship [mailto:hls...@gmail.com] 
Sent: 05 May 2010 19:42
To: Tapestry users
Subject: Re: Zone ID issue

Try:

@Property @InjectComponent
private Zone testZone;

On Wed, May 5, 2010 at 11:32 AM, Thiago H. de Paula Figueiredo
<thiag...@gmail.com> wrote:
> On Wed, 05 May 2010 15:18:18 -0300, Jim O'Callaghan
> <j...@peritussolutions.com> wrote:
>
>> Hello,
>
> Hi!
>
>> <t:zone zone="prop:zone" id="${ componentZoneId }" t:update="show">
>
> Don't use expansions (${}) when passing values to parameters. It forces
the
> conversion to String. In this case, it's harmless, as it's already a
Strig.
>
>> 'zone' is a ComponentSource within the associated component java class
and
>> is defined as follows:
>>               �...@property
>>               �...@inject
>>               �...@id("testZone")
>>                private ComponentSource zone;
>
> This is strange, as ComponentSource isn't a component nor a Block, it's an
> interface and a service.
>
> --
> Thiago H. de Paula Figueiredo
> Independent Java, Apache Tapestry 5 and Hibernate consultant, developer,
and
> instructor
> Owner, Ars Machina Tecnologia da Informação Ltda.
> http://www.arsmachina.com.br
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>



-- 
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to