Hi, In fact, in ValidationTracker validationTracker = form.getDefaultTracker();
form is not null. It was form.getDefaultTracker() that is returning null (which is not expected). Instead of trying to check and record errors using ValidationTracker, I follow the advice in http://tapestry.apache.org/tapestry5.2-dev/guide/validation.html to use form.getHasErrors, form.recordError. My code is working in Tap 5.2 snapshot. Shing --- On Sun, 8/8/10, Shing Hing Man <mat...@yahoo.com> wrote: > From: Shing Hing Man <mat...@yahoo.com> > Subject: Embedded Form component becomes null in Tap 5.2.0-Snapshot > To: "tapestry Tapestry" <tapestry-u...@jakarta.apache.org> > Date: Sunday, 8 August, 2010, 2:50 > Hi, > > I have an embedded form component that is null inside a > onSubmit method. > It was not the case in Tap 5.1. > > In .tml : > <t:form t:id="myForm" > > .... > </t:form> > > In Java page > > @Component(id = "myForm") > private Form form; > > @OnEvent(component = "myForm", value = "submit") > public void submit() { > // form is null below > ! > ValidationTracker validationTracker = > form.getDefaultTracker(); > } > > When the form is submitted, inside the submit method, form > is null. > I am using > tapestry-core:5.2.0-20100801.103309-116 > > Below is the stack trace. > > # > com.man.testTapestry5.pages.test.Sum.submit(Sum.java:172) > # > com.man.testTapestry5.pages.test.Sum$MethodAccess_submit_12a4dd6b537.invoke(Sum$MethodAccess_submit_12a4dd6b537.java) > # > org.apache.tapestry5.internal.transform.BaseEventHandlerMethodInvoker.invokeEventHandlerMethod(BaseEventHandlerMethodInvoker.java:52) > # > org.apache.tapestry5.internal.transform.OnEventWorker$4.invokeEventHandlers(OnEventWorker.java:157) > # > org.apache.tapestry5.internal.transform.OnEventWorker$4.advise(OnEventWorker.java:136) > # > org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86) > # > com.man.testTapestry5.pages.test.Sum.dispatchComponentEvent(Sum.java) > # > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:942) > # > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEventTriggering(ComponentPageElementImpl.java:1132) > # > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$3000(ComponentPageElementImpl.java:72) > # > org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.invoke(ComponentPageElementImpl.java:1077) > # > org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.invoke(ComponentPageElementImpl.java:1074) > # > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65) > # > org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) > # > org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1057) > # > org.apache.tapestry5.internal.structure.ComponentPageElementResourcesImpl.invoke(ComponentPageElementResourcesImpl.java:141) > # > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1073) > # > org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.triggerContextEvent(InternalComponentResourcesImpl.java:287) > # > org.apache.tapestry5.corelib.components.Form._$advised$onAction(Form.java:548) > # > org.apache.tapestry5.corelib.components.Form$onAction$invocation_12a4dd6c009.invokeAdvisedMethod(Form$onAction$invocation_12a4dd6c009.java) > # > org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:77) > # > org.apache.tapestry5.ioc.internal.services.LoggingAdvice.advise(LoggingAdvice.java:37) > # > org.apache.tapestry5.internal.transform.LogWorker$1.advise(LogWorker.java:54) > # > org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86) > # > org.apache.tapestry5.corelib.components.Form.onAction(Form.java) > # > org.apache.tapestry5.corelib.components.Form$MethodAccess_onAction_12a4dd6b53f.invoke(Form$MethodAccess_onAction_12a4dd6b53f.java) > # > org.apache.tapestry5.internal.transform.BaseEventHandlerMethodInvoker.invokeEventHandlerMethod(BaseEventHandlerMethodInvoker.java:52) > # > org.apache.tapestry5.internal.transform.OnEventWorker$4.invokeEventHandlers(OnEventWorker.java:157) > # > org.apache.tapestry5.internal.transform.OnEventWorker$4.advise(OnEventWorker.java:136) > # > org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86) > # > org.apache.tapestry5.corelib.components.Form.dispatchComponentEvent(Form.java) > # > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:950) > # > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEventTriggering(ComponentPageElementImpl.java:1132) > # > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$3000(ComponentPageElementImpl.java:72) > # > org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.invoke(ComponentPageElementImpl.java:1077) > # > org.apache.tapestry5.internal.structure.ComponentPageElementImpl$7.invoke(ComponentPageElementImpl.java:1074) > # > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65) > # > org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) > # > org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1057) > # > org.apache.tapestry5.internal.structure.ComponentPageElementResourcesImpl.invoke(ComponentPageElementResourcesImpl.java:141) > # > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1073) > # > org.apache.tapestry5.internal.services.ComponentEventRequestHandlerImpl.handle(ComponentEventRequestHandlerImpl.java:81) > # > org.apache.tapestry5.internal.services.ImmediateActionRenderResponseFilter.handle(ImmediateActionRenderResponseFilter.java:42) > # > $ComponentEventRequestHandler_12a4dd6b5dd.handle($ComponentEventRequestHandler_12a4dd6b5dd.java) > # > org.apache.tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.java:42) > # > $ComponentEventRequestHandler_12a4dd6b5dd.handle($ComponentEventRequestHandler_12a4dd6b5dd.java) > # > org.apache.tapestry5.services.TapestryModule$39.handle(TapestryModule.java:2566) > # > $ComponentEventRequestHandler_12a4dd6b5dd.handle($ComponentEventRequestHandler_12a4dd6b5dd.java) > # > $ComponentEventRequestHandler_12a4dd6b507.handle($ComponentEventRequestHandler_12a4dd6b507.java) > # > org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handleComponentEvent(ComponentRequestHandlerTerminator.java:43) > # > org.apache.tapestry5.services.InitializeActivePageName.handleComponentEvent(InitializeActivePageName.java:39) > # > $ComponentRequestHandler_12a4dd6b509.handleComponentEvent($ComponentRequestHandler_12a4dd6b509.java) > # > $ComponentRequestHandler_12a4dd6b4ed.handleComponentEvent($ComponentRequestHandler_12a4dd6b4ed.java) > # > org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:46) > # > $Dispatcher_12a4dd6b4ef.dispatch($Dispatcher_12a4dd6b4ef.java) > # > $Dispatcher_12a4dd6b4ea.dispatch($Dispatcher_12a4dd6b4ea.java) > # > org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:320) > # > com.man.testTapestry5.services.AppModule$1.service(AppModule.java:105) > # > $RequestFilter_12a4dd6b4e9.service($RequestFilter_12a4dd6b4e9.java) > # > $RequestHandler_12a4dd6b4eb.service($RequestHandler_12a4dd6b4eb.java) > # > org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26) > k trace. > > Thanks in advance for any assistance ! > > Shing > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org