Hi, @Barry, yes, your solution should fix null pointer exception, but probably it would break the application. A better way:
public SearchFormData getFormData() { if (formData == null) { formData = new SearchFormData(); } return formData; } However, it is still interesting that formData is null (assuming that there is no other code explicitly assigning a value to this field). On Wed, May 25, 2016 at 12:37 PM, Barry Books <trs...@gmail.com> wrote: > It's difficult to say why it might be null but changing the code to > > public SearchFormData getFormData() { > return new SearchFormData(); > } > > should fix it > > On Monday, May 23, 2016, Jaroslav Ciml <jaroslav.c...@jpower8.cz> wrote: > > > Hi, > > > > I am getting a strange exception during submit of a Tapestry form that I > > cannot explain. It happens just rarely (but regularily) in the production > > environment. I cannot even reproduce the exception. > > > > I have a form in tml file of a Tapestry component. > > > > ... > > <t:form t:id="searchForm" clientValidation="none"> > > .... > > <t:select t:id="globalSport" model="globalSportModel" > > value="formData.globalSportId" blankOption="never"/> > > .... > > </t:form> > > .. > > > > And here is the important part of corresponding Java file: > > > > ... > > @Property(read = true, write = false) > > private ServiceSearchFormData formData; > > ... > > @OnEvent(value = EventConstants.PREPARE_FOR_SUBMIT, component = > > "searchForm") > > void prepareForSubmit() > > { > > formData = new ServiceSearchFormData(); > > } > > ... > > > > It seems to be pretty straightforward. ServiceSearchFormData is a DTO > with > > few attributes and getter / setter methods. It encapsulates data > submitted > > in the form. An instance is created on "prepare for submit" event. > > > > The exception occurs in scope of a POST request that submits data to this > > form. The exception message states: > > > > Failure writing parameter 'value' of component > > MyPortal:portalindex.portalsearchform.globalsport: Property 'formData' > > (within property expression 'formData.globalSportId', of > > cz.ftm.fitsoftware.webapp.components.PortalSearchForm@3262579e) is null. > > > > I have no idea how this happens. How can the property formData be > > uninitialized? It seems that the method prepareForSubmit is not called. > > > > Thanks for help. > > Jarda > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > > <javascript:;> > > For additional commands, e-mail: users-h...@tapestry.apache.org > > <javascript:;> > > > > >