BeanEditForm FAQPage added by Howard M. Lewis ShipBeanEditFormWhy do I get exceptions about instantiating a bean when using BeanEditForm?When you render a BeanEditForm, or when the rendered form is submitted, Tapestry must instantiate an instance of the object to be edited. This occurs when the BeanEditForm's object parameter is bound to null: Tapestry instantiates an instance of the property type so that the BeanEditForm has an object to read default values from, or to push submitted values into. By default, this uses the standard injection mechanism, which means that Tapestry will identify the public constructor with the most parameters, and attempt to find objects and other objects for each constructor parameter. There's two ways to fine tune this so you don't get errors:
public class MyBean { @Inject public MyBean() { ... } // For testing public MyBean(String value, boolean flag, int index) { ... } ... }
public class MyPage { @Property public MyBean myBean; // The template contains <t:beaneditform t:id="mybeaneditor"/> ... void onPrepareFromMyBeanEditor() { myBean = new MyBean(); } }
Change Notification Preferences
View Online
|
- [CONF] Apache Tapestry > BeanEditForm FAQ confluence
- [CONF] Apache Tapestry > BeanEditForm FAQ confluence
- [CONF] Apache Tapestry > BeanEditForm FAQ confluence