Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
5.3.7
-
None
Description
Page:
public class test {
@Property
@Persist(PersistenceConstants.CLIENT)
Box u ; //any object here
@Property
@Persist(PersistenceConstants.CLIENT)
private String title;
public void setUpRender()
{ if(u==null) u = new Box(); }public void onSubmitFromTeast()
{ System.out.println("Submitted value="+u.getType()); }}
tml:
<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd" xmlns="http://www.w3.org/1999/xhtml" xmlns="tapestry:parameter">
<body>
<t:form t:id="teast" id="teast" >
<span>test</span>
<p>
<input t:type="textfield" t:value="u.type" t:clientId="utype"/>
<!-<input t:type="textfield" t:value="title" />->
</p>
<input type="submit" />
</t:form>
</body>
</html>
Entity(The problem is not related to any particular entity. this can be any entity here):
public class Box implements Serializable
{
public Long id;
public String type;
}
In the test above, the persist doesn't work on Box object. If I just uncomment the 'title' textfield in tml, the persist on Box will be successful.
I had a rough investigation and found ClientPersistentFieldStorageImpl.postChange was not triggered without the 'title' field.