I'm working through the examples in Tapestry 5: Building Web Applications.

I am using Tapestry 5.2.4.

I have a class Celebrity with fields:  lastName, firstName, dateOfBirth,
etc. and I've used the @Property annotation with the expectation that
Tapestry will generate public getters and setters.

This seemed to be working until I tried using a Grid component to display a
list of Celebrities.

Here is the relevant code block (which works when I explicitly provide
public getters and setters):

   
      
        
            ${celebrity.lastName}
        
      
    

The exception I see is:

Could not convert 'celebrity.lastName' into a component parameter binding:
Exception generating conduit for expression 'celebrity.lastName': Class
com.ljs.model.Celebrity does not contain a property (or public field) named
'lastName'.

and it appears to originate here:  ${celebrity.lastName}.

To correct this, I added a public getter for lastName.

The next exception I see is:

Render queue error in SetupRender[ShowAll:grid.columns]: Bean editor model
for com.ljs.model.Celebrity does not contain a property named 'firstName'.

which I can correct by added a getter for firstName.

I'm puzzled because I though that the @Property annotation would provide
public getters and setters for me.  What am I missing?  Have I misunderstood
the @Property annotation? 

Thanks,

Joshua

--
View this message in context: 
http://tapestry.1045711.n5.nabble.com/accessing-fields-marked-with-Property-in-Grid-component-tp4296037p4296037.html
Sent from the Tapestry - User mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to