Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
5.2.0
-
None
Description
I'm getting exception in my app:
Render queue error in SetupRender[Details:itemeditor]: Bean editor model for org.apache.tapestry5.integration.app7.data.Item already contains a property model for property 'displayName'.
Not sure if this is a bug or my misunderstanding of some T5 concepts.
Here is my use case:
I have 'Index' page displaying a list of items in a grid. Every row in the grid has an 'Edit' link (pagelink) that leads to 'Details' page where I can edit selected item using BeanEditor component. After clicking Submit application should redirect me back to 'Index' page where I can see the list with updated item. I may want to click 'Edit' once again and repeat the use case, but now at this place I get an exception I noted above.
Here's my 'Item' class:
package org.apache.tapestry5.integration.app7.data;
public class Item {
private int id;
public Item(int id)
{ this.id = id; }public int getId() { return id; }
public void setId(int id) { this.id = id; }
public String getDisplayName()
{ return "Item #" + id; }}
and a part of beaneditor markup on Details page:
<t:beaneditor t:id="itemEditor" object="item" add="displayName"
submitLabel="Apply Edit">
You can see I declare new property (displayName) for the Item bean model. This works fine the first time I navigate to the Details page, but fails on the second time.
To illustrate the exception I wrote a simple test case (see attachment). I took app6 integration test of tapestry-core tests as a reference (from trunk version on github) and implemented the test case in a new test application (app7).
Hope this will help to understand the issue.