hellow and sorry for my english,
I am novice tapestry user and I have a problem with a master detail
relation.
I have a simple bean like this:
...
public class Master imelements Serializable {
private String name;
private List<Detail> detail = new ArrayList<Detail>();
.....
.....
}
...
I need to do all the operations in a single page and the code is like
this:
...
<form jwcid="@Form" success="listener:doSubmit">
<input jwcid="@TextField" value="ognl:master.name" size="40"/>
<a href="#" jwcid="@DirectLink" listener="listener:addAction">add</a>
<table>
<tr>
<td colspan="2">value</td>
</tr>
<tr jwcid="@For" source="ognl:master.detail" value="ognl:item"
element="tr" index="ognl:index">
<td>
<input jwcid="@TextField" type="text" size="40"
value="ognl:item.value"/>
</td>
<td>
<a href="#" jwcid="@DirectLink" listener="listener:delAction"
parameters="ognl:{index}">del</a>
</td>
</tr>
</table>
<input type="submit" value="Submit"/>
...
...
</form>
...
The java code of the page is like this:
...
public abstract class MasterDetail extends BasePage {
@Persist
public abstract Master getMaster();
public abstract void setMaster(Master master);
public void addAction() throws Exception {
getMaster().getDetail().add(new Detail());
}
public void delAction(int index) throws Exception {
getMaster().getDetail().remove(index);
}
@InjectPage("ListPage")
public abstract ListPage getListPage();
public IPage doSubmit() throws Exception {
...
... Database
...
return getListPage();
}
}
All work fine except when I add a new Detail to de Master record. In
that case the Master bean do not get the state saved previously, that
is, I enter a name and when I pres the "add" link to add a new Detail
the Master bean is reseted. The empty element is added to de Detail List
but all previos values of the bean are lost. But when I enter values to
all fields and press the submit button the values are correctly saved.
Can some one help me?
very thank you.
______________________________________________
LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]