Thanks Thiago, actually your original advice works great when I test it in a clean new test page with a simple grid. I do get the id attribute in the <table> tag and no ecxeption. I don't even need to add the "literal:" prefix.
The exception I mentioned only occurs from my actual page which has a lot of custom code which is probably doing something wrong with the several grids it uses. In fact not only does that page throw the exception I mentioned when I add "id= grid1"; if I change that into "literal:id=grid1" it does not add any id to the generated <table> tag. But if I try the same with a clean new test page everything works as expected. So I must conclude that some of our customizations are interfering with normal grid behavior. So putting an "id=...." attribute in the <t:grid> tag works perfectly. However as I recently realized it would be much better for me to use a solution where I don't need to change all the tml files of pages containing grids. It would be already better for me if I could add that id from the Java code of each page instead of in the page tml, so I will look into that. As far as my original question is concerned, your advice is the solution. -----Original Message----- From: Thiago H de Paula Figueiredo Sent: Monday, September 21, 2015 23:32 To: Tapestry users <users@tapestry.apache.org> Subject: Re: Make Tapestry add an id to the <table> tag of the grid On Mon, 21 Sep 2015 11:36:52 -0300, Davide Vecchi wrote: > <t:grid > .... > t:id="grid1" > id="grid1" > .... > > but I get > > org.apache.tapestry5.ioc.util.UnknownValueException: Class [my page > class] does not contain a property (or public field) named 'grid1'. Full stack trace please. This is very weird. Until there, try id="literal:grid1". --