Consider the following example:

Page:
      <ul t:type="widgets/sortableContainer" t:id="list1"
containers="list1,list2">
          <li t:type="fund/fundGraph" fundId="one" />
          <li t:type="fund/fundGraph" fundId="two" />
          <li t:type="fund/fundGraph" fundId="three" />
      </ul>
    <t:zone t:id="editZone">
    </t:zone>

FundGraph:
<li>
    <t:block t:id="viewBlock">
        <t:zone t:id="viewZone">
             <t:actionLink t:id="edit" zone="editZone"
context="graphPreferences.fundId">edit</t:actionLink><br />
             ...
        </t:zone>
    </t:block>
    <t:block t:id="editBlock">
        <form t:type="form" t:id="graphPreferencesForm" zone="viewZone">
             ...
        </form>
    </t:block>
</li>

I have a page with a few fund graphs and an editZone.
Each graph has an edit link which causes a form to appear in the editZone.
Each graph also has a viewZone which will be updated once it's form is
submitted.
Tapestry sees that I am including more than one "editZone" and magically
calls the zones "editZone", "editZone_1" etc
Therefore, when any form is submitted, the first graph is updated with the
reasult.

I would like to give the zone a dynamic id, something like "prop:viewZoneId"
which I calculate at runtime but tapestry is erroring stating:
"Component ids must be valid Java identifiers: start with a letter, and
consist of letters, numbers and underscores."

Any suggestions?

Cheers,
Lance.

Reply via email to