first, I would not in any cas try to write my own form component.

So, stale links:

In order for tapestry to submit a form, all form components must be rendered on submit on the same order they were rendered for the response which generated the form.

to make sure this happens, tapestry records the order of the components, and if it doesn't match, generates a stale link.

why doesn't it match?

say you have a list of 1 object, and you iterate over it and generate an input box for each item.

If when submitting, the list has suddenly 2 objects, two input boxes are rendered, one too much...

to prevent this, certain approaches were taken, including the For bean, If bean ( i think...) and action listeners instead of "listener" listeners.

So - when doing thing in the right order and persisting the information in the right place, stale link exceptions can be avoided - show me yours and I'll show you mine (code)...

Cheers,
Ron





Andrea Chiumenti wrote:
Hello,
I'm using Tapestry 4.1.1 and I'm trying to update a comopnent.
This component is a grid, that in normal state hasn't any input component.
The first time i call addNew, that adds a new row with input elements all
goes well.
The next time i call this function I have a StaleLinkException.

with this message:
Rewind of form Home/thisForm expected allocated id #9 to be 'nameField', but
was 'addNew' (requested by component Home/tableForm.addNew).

The call is an ajax call that updates the table containing the row.

How can I prevent the stale link exception, how does Tapestry 4.1.1 threats
stale links ?

Thanks in advance,
kiuma



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to