I am trying to pass an object from one page (a page with a grid) to another page (the page with BeanDisplay).
I know am making a silly mistake somewhere but i have spent 2 hours on it and i still cant figure out the issue. Here is the page with the grid <html t:type="layout" t:title="Show all contacts" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd" xmlns:p="tapestry:parameter"> <div class="span-6"> <div t:type="menu"/> </div> <div class="span-16"> <table t:type="grid" t:source="contacts" t:row="contact" t:add="Actions"> <p:actionscell> <t:actionlink t:id="delete" t:context="contact.id ">delete</t:actionlink>| <t:actionlink t:id="view" t:context="contact.id ">view</t:actionlink> </p:actionscell> </table> </div> </html> public class ShowAll { @Inject private Dao dao ; @Property private Contact contact ; @InjectPage private ViewContact viewContact ; public List<Contact> getContacts(){ return dao.getAll(); } @OnEvent(value="action", component="delete") private void deleteContact(Long id){ dao.delete(id, Contact.class); } @OnEvent(value="action", component="view") private Object viewContact(Long id){ Contact contact = dao.getById(id, Contact.class); viewContact.setContact(contact); return viewContact ; } } The view page <html t:type="layout" t:title="Show all contacts" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd" xmlns:p="tapestry:parameter"> <div class="span-6"> <t:menu title="Viewing Contact"/> </div> <div class="span-16"> <t:beandisplay object="contact"/> </div> </html> package com.josh.addressbook.pages; import com.josh.addressbook.entities.Contact; public class ViewContact { private Contact contact ; public Contact getContact() { return contact; } public void setContact(Contact contact) { this.contact = contact; } } Error message An unexpected application exception has occurred. - org.apache.tapestry5.internal.services.RenderQueueException Render queue error in SetupRender[ViewContact:beandisplay]: Parameter 'object' of component ViewContact:beandisplay is bound to null. This parameter is not allowed to be null. activeComponents - ViewContact (class com.josh.addressbook.pages.ViewContact) - ViewContact:layout (class com.josh.addressbook.components.Layout) classpath:com/josh/addressbook/pages/ViewContact.tml, line 31<html t:type="layout" t:title="Show all contacts"2 xmlns:t=" http://tapestry.apache.org/schema/tapestry_5_1_0.xsd"3xmlns:p="tapestry:parameter"> 4 5 <div class="span-6">6 <t:menu title="Viewing Contact"/>7 </div>8 - ViewContact:beandisplay (class org.apache.tapestry5.corelib.components.BeanDisplay) classpath:com/josh/addressbook/pages/ViewContact.tml, line 105 <div class="span-6">6 <t:menu title="Viewing Contact"/>7 </div>8 9 <div class="span-16">10 <t:beandisplay object="contact"/>11 </div>12 13</html> locationclasspath:com/josh/addressbook/pages/ViewContact.tml, line 10 - org.apache.tapestry5.ioc.internal.util.TapestryException Parameter 'object' of component ViewContact:beandisplay is bound to null. This parameter is not allowed to be null. locationclasspath:com/josh/addressbook/pages/ViewContact.tml, line 10Hide uninteresting stack frames Stack trace - org.apache.tapestry5.internal.transform.ParameterWorker$2$1.readFromBinding(ParameterWorker.java:328) - org.apache.tapestry5.internal.transform.ParameterWorker$2$1.get(ParameterWorker.java:413) - org.apache.tapestry5.corelib.components.BeanDisplay._$get_object(BeanDisplay.java) - org.apache.tapestry5.corelib.components.BeanDisplay.setupRender(BeanDisplay.java:128) - org.apache.tapestry5.corelib.components.BeanDisplay$MethodAccess_setupRender_12c2b7e6fa2.invoke(BeanDisplay$MethodAccess_setupRender_12c2b7e6fa2.java) - org.apache.tapestry5.internal.transform.RenderPhaseMethodWorker$Invoker.invoke(RenderP