PopupLinkRenderer fails in Form rewind --------------------------------------
Key: TAPESTRY-774 URL: http://issues.apache.org/jira/browse/TAPESTRY-774 Project: Tapestry Type: Bug Components: Contrib Versions: 4.0 Reporter: Scott Russell Tapestry version 4.0 beta13 I have a DirectLink component, with a PopupLinkRenderer, embedded within a Form. Upon Form submit, I get an error during Form rewind as follows: "Component booking/Booking/chooseSenderLink requires rendering support, but no PageRenderSupport object has been stored into the request cycle. This object is typically provided by a Body component. You should add a Body component to your template." I have a Body component around the whole page, but it does not seem to render during Form rewind. As a result, when the PopupLinkRenderer renders, it complains about not having a Body component supplying PageRenderSupport. It seems that DirectLink and/or PopupLinkRenderer should be checking for Form rewind and not rendering in that case. The full exception is as follows: org.apache.tapestry.TapestryUtils.getPageRenderSupport(TapestryUtils.java:108) org.apache.tapestry.contrib.link.PopupLinkRenderer.constructURL(PopupLinkRenderer.java:68) org.apache.tapestry.link.DefaultLinkRenderer.renderLink(DefaultLinkRenderer.java:62) org.apache.tapestry.link.AbstractLinkComponent.renderComponent(AbstractLinkComponent.java:95) org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617) org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:434) org.apache.tapestry.form.FormSupportImpl.rewind(FormSupportImpl.java:548) org.apache.tapestry.form.Form.renderComponent(Form.java:226) $Form_698.renderComponent($Form_698.java) org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617) org.apache.tapestry.form.Form.rewind(Form.java:327) org.apache.tapestry.engine.RequestCycle.rewindForm(RequestCycle.java:442) org.apache.tapestry.form.Form.trigger(Form.java:338) org.apache.tapestry.engine.DirectService.triggerComponent(DirectService.java:146) org.apache.tapestry.engine.DirectService.service(DirectService.java:132) $IEngineService_107c5b11bbe.service($IEngineService_107c5b11bbe.java) org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(EngineServiceOuterProxy.java:65) org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:248) org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:60) $WebRequestServicer_107c5b11b97.service($WebRequestServicer_107c5b11b97.java) org.apache.tapestry.services.impl.DisableCachingFilter.service(DisableCachingFilter.java:48) $WebRequestServicerFilter_107c5b11b99.service($WebRequestServicerFilter_107c5b11b99.java) $WebRequestServicer_107c5b11b9b.service($WebRequestServicer_107c5b11b9b.java) $WebRequestServicer_107c5b11b93.service($WebRequestServicer_107c5b11b93.java) org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:56) $ServletRequestServicer_107c5b11b77.service($ServletRequestServicer_107c5b11b77.java) org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55) $ServletRequestServicerFilter_107c5b11b73.service($ServletRequestServicerFilter_107c5b11b73.java) $ServletRequestServicer_107c5b11b79.service($ServletRequestServicer_107c5b11b79.java) org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52) $ServletRequestServicerFilter_107c5b11b71.service($ServletRequestServicerFilter_107c5b11b71.java) $ServletRequestServicer_107c5b11b79.service($ServletRequestServicer_107c5b11b79.java) org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53) $ServletRequestServicerFilter_107c5b11b75.service($ServletRequestServicerFilter_107c5b11b75.java) $ServletRequestServicer_107c5b11b79.service($ServletRequestServicer_107c5b11b79.java) $ServletRequestServicer_107c5b11b6b.service($ServletRequestServicer_107c5b11b6b.java) org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123) org.apache.tapestry.ApplicationServlet.doPost(ApplicationServlet.java:168) javax.servlet.http.HttpServlet.service(HttpServlet.java:616) javax.servlet.http.HttpServlet.service(HttpServlet.java:689) org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428) org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:292) net.sf.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:84) net.sf.acegisecurity.intercept.web.SecurityEnforcementFilter.doFilter(SecurityEnforcementFilter.java:182) net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303) net.sf.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:153) net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303) net.sf.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:305) net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303) net.sf.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:225) net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303) net.sf.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:173) net.sf.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:125) org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568) org.mortbay.http.HttpContext.handle(HttpContext.java:1565) org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633) org.mortbay.http.HttpContext.handle(HttpContext.java:1517) org.mortbay.http.HttpServer.service(HttpServer.java:954) org.mortbay.http.HttpConnection.service(HttpConnection.java:816) org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:983) org.mortbay.http.HttpConnection.handle(HttpConnection.java:833) org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244) org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357) org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534) -Scott -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]