Yep, that's what I meant 2008/6/25 9902468 <[EMAIL PROTECTED]>:
> > Better yet: > > Tapestry could be so smart that it would return null even if the handler > returns block if the request is not ajax. > > if(return_value == block && is_not_xhdr){ > block = null; > } > > That wouldn't break anything? > > -99 > > > Lance Java wrote: > > > > Could returning null be built in as default behaviour? Since returning a > > block from a non-xhr request is an error case, it would save putting > > checks > > throughout the code and I can't see it breaking anything. > > > > Cheers, > > Lance. > > > > 2008/6/24 Howard Lewis Ship <[EMAIL PROTECTED]>: > > > >> For full graceful degradation, you can inject the Request object can > >> check its isXHR() method, then decide on an appropriate return value > >> (typically, a Block or null). > >> > >> On Tue, Jun 24, 2008 at 9:24 AM, Lance Java <[EMAIL PROTECTED]> > >> wrote: > >> > I have solved the issue, I think I understand what was going wrong. > >> > - Tapestry first draws action links as hrefs which cause a page reload > >> for > >> > graceful degredation > >> > - Tapestry javascript magic then goes over all ajax action links and > >> changes > >> > them to javascript method calls > >> > - I had a javascript error which stopped the tapestry javascript magic > >> from > >> > hapening, thus I was seeing the graceful degredation, thus no XHR's > >> > > >> > Cheers, > >> > Lance. > >> > > >> > 2008/6/24 Francisco Manzano <[EMAIL PROTECTED]>: > >> > > >> >> Hi, I am inexperienced in Tapestry, but I had east problem recently: > >> >> You have like result a valid xhtml page? You can look for if you have > >> >> "scripts of tapestry" inserted at the end of the page. > >> >> something like this : > >> >> ... > >> >> <script src="../../assets/scriptaculous/5.0.13/prototype.js" > >> >> type="text/javascript"></script> > >> >> <script src="../../assets/scriptaculous/5.0.13/scriptaculous.js" > >> >> type="text/javascript"></script> > >> >> <script src="../../assets/scriptaculous/5.0.13/effects.js" > >> >> type="text/javascript"></script> > >> >> <script src="../../assets/tapestry/5.0.13/tapestry.js" > >> >> type="text/javascript"></script> > >> >> <script type="text/javascript"> > >> >> <!-- > >> >> Tapestry.DEBUG_ENABLED = true; > >> >> Tapestry.onDOMLoaded(function() { > >> >> > >> >> > >> > Tapestry.init({"zone":["zoneToUpdate"],"linkZone":[["theLink4","zoneToUpdate"],["theForm","zoneToUpdate"]]}); > >> >> }); > >> >> // --> > >> >> </script> > >> >> </body> > >> >> </html> > >> >> > >> >> If these scripts are not, you can have this problem., and you can > >> solve > >> it > >> >> obtaining a valid xhtml like result. > >> >> > >> >> I hope can help you > >> >> > >> >> & > >> >> DiPegotDeis > >> >> > >> >> > >> >> > >> >> > >> >> Lance Java wrote: > >> >> > >> >>> I have an actionlink that returns a block and populates a zone in my > >> page > >> >>> > >> >>> FundGraph.tml > >> >>> <t:actionLink t:id="edit" zone="editZone">edit</t:actionLink> > >> >>> > >> >>> <t:block t:id="editorBlock">...</t:block> > >> >>> > >> >>> <t:zone t:id="editZone"> > >> >>> </t:zone> > >> >>> > >> >>> > >> >>> FundGraph.java > >> >>> @Inject > >> >>> private Block editorBlock; > >> >>> > >> >>> @OnEvent(value="action", component="edit") > >> >>> protected Object onActionFromEdit() { > >> >>> return editorBlock; > >> >>> } > >> >>> > >> >>> In Firefox, this works fine. In IE, I get the following error: > >> >>> A component event handler method returned the value > >> >>> [EMAIL PROTECTED] Return > type > >> >>> org.apache.tapestry5.internal.structure.BlockImpl can not be > handled. > >> >>> Configured return types are java.lang.Class, java.lang.String, > >> >>> java.net.URL, > >> >>> org.apache.tapestry5.Link, org.apache.tapestry5.StreamResponse, > >> >>> org.apache.tapestry5.runtime.Component. > >> >>> > >> >>> I have looked at previous posts on this list and it seems that this > >> is > >> >>> because request.isXHR() is false. What can I do to fix this in IE? I > >> >>> thought > >> >>> that XHR should be true in this case? > >> >>> > >> >>> I am using tapestry 5.0.13 and IE 6.0 > >> >>> > >> >>> Full stack trace: > >> >>> %d 192408 ERROR > >> >>> > >> [org.apache.tapestry5.services.TapestryModule.RequestExceptionHandler] > >> >>> (http-127.0.0.1-8080-2:) Processing of request failed with uncaught > >> >>> exception: A component event handler method returned the value > >> >>> [EMAIL PROTECTED] Return > type > >> >>> org.apache.tapestry5.internal.structure.BlockImpl can not be > >> >>> handled. Configured return types are java.lang.Class, > >> java.lang.String, > >> >>> java.net.URL, org.apache.tapestry5.Link, > >> >>> org.apache.tapestry5.StreamResponse, > >> >>> org.apache.tapestry5.runtime.Component. > >> >>> org.apache.tapestry5.runtime.ComponentEventException: A component > >> event > >> >>> handler method returned the value > >> >>> [EMAIL PROTECTED] Return > type > >> >>> org.apache.tapestry5.internal.structure.BlockImpl can not be > >> >>> handled. Configured return types are java.lang.Class, > >> java.lang.String, > >> >>> java.net.URL, org.apache.tapestry5.Link, > >> >>> org.apache.tapestry5.StreamResponse, > >> >>> org.apache.tapestry5.runtime.Component. > >> >>> [at > >> >>> > >> classpath:com/bglobal/isharesnet/tapestry/components/fund/FundGraph.tml, > >> >>> line 2, column 44] > >> >>> at > >> >>> > >> >>> > >> > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1042) > >> >>> at > >> >>> > >> >>> > >> > org.apache.tapestry5.internal.services.ComponentEventRequestHandlerImpl.handle(ComponentEventRequestHandlerImpl.java:67) > >> >>> at > >> >>> > >> >>> > >> > org.apache.tapestry5.internal.services.ImmediateActionRenderResponseFilter.handle(ImmediateActionRenderResponseFilter.java:42) > >> >>> at > >> >>> > >> >>> > >> > $ComponentEventRequestHandler_11abad25fdc.handle($ComponentEventRequestHandler_11abad25fdc.java) > >> >>> at > >> >>> > >> >>> > >> > org.apache.tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.java:42) > >> >>> at > >> >>> > >> >>> > >> > $ComponentEventRequestHandler_11abad25fdc.handle($ComponentEventRequestHandler_11abad25fdc.java) > >> >>> at > >> >>> > >> >>> > >> > org.apache.tapestry5.services.TapestryModule$37.handle(TapestryModule.java:1987) > >> >>> at > >> >>> > >> >>> > >> > $ComponentEventRequestHandler_11abad25fdc.handle($ComponentEventRequestHandler_11abad25fdc.java) > >> >>> at > >> >>> > >> >>> > >> > $ComponentEventRequestHandler_11abad25f81.handle($ComponentEventRequestHandler_11abad25f81.java) > >> >>> at > >> >>> > >> >>> > >> > org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:135) > >> >>> at $Dispatcher_11abad25f84.dispatch($Dispatcher_11abad25f84.java) > >> >>> at $Dispatcher_11abad25f76.dispatch($Dispatcher_11abad25f76.java) > >> >>> at > >> >>> > >> >>> > >> > org.apache.tapestry5.services.TapestryModule$12.service(TapestryModule.java:938) > >> >>> at > >> >>> > >> >>> > >> > org.apache.tapestry5.internal.services.LocalizationFilter.service(LocalizationFilter.java:42) > >> >>> at > >> $RequestHandler_11abad25f77.service($RequestHandler_11abad25f77.java) > >> >>> at > >> >>> > >> >>> > >> > org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:586) > >> >>> at > >> $RequestHandler_11abad25f77.service($RequestHandler_11abad25f77.java) > >> >>> at > >> >>> > >> >>> > >> > org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26) > >> >>> at > >> $RequestHandler_11abad25f77.service($RequestHandler_11abad25f77.java) > >> >>> at > >> >>> > >> >>> > >> > org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:79) > >> >>> at > >> $RequestHandler_11abad25f77.service($RequestHandler_11abad25f77.java) > >> >>> at > >> >>> > >> >>> > >> > org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:93) > >> >>> at > >> >>> > >> >>> > >> > org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:84) > >> >>> at > >> >>> > >> >>> > >> > org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:75) > >> >>> at > >> >>> > >> >>> > >> > org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106) > >> >>> at > >> $RequestHandler_11abad25f77.service($RequestHandler_11abad25f77.java) > >> >>> at > >> $RequestHandler_11abad25f6f.service($RequestHandler_11abad25f6f.java) > >> >>> at > >> >>> > >> >>> > >> > org.apache.tapestry5.services.TapestryModule$11.service(TapestryModule.java:918) > >> >>> at > >> >>> > >> >>> > >> > org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62) > >> >>> at > >> >>> > >> >>> > >> > $HttpServletRequestFilter_11abad25f6e.service($HttpServletRequestFilter_11abad25f6e.java) > >> >>> at > >> >>> > >> >>> > >> > $HttpServletRequestHandler_11abad25f70.service($HttpServletRequestHandler_11abad25f70.java) > >> >>> at > >> >>> > >> >>> > >> > $HttpServletRequestHandler_11abad25f6d.service($HttpServletRequestHandler_11abad25f6d.java) > >> >>> at > >> org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:168) > >> >>> at > >> >>> > >> >>> > >> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) > >> >>> at > >> >>> > >> >>> > >> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > >> >>> at > >> >>> > >> >>> > >> > org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) > >> >>> at > >> >>> > >> >>> > >> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) > >> >>> at > >> >>> > >> >>> > >> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > >> >>> at > >> >>> > >> >>> > >> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) > >> >>> at > >> >>> > >> >>> > >> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) > >> >>> at > >> >>> > >> >>> > >> > org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179) > >> >>> at > >> >>> > >> >>> > >> > org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) > >> >>> at > >> >>> > >> >>> > >> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) > >> >>> at > >> >>> > >> >>> > >> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) > >> >>> at > >> >>> > >> >>> > >> > org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) > >> >>> at > >> >>> > >> >>> > >> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > >> >>> at > >> >>> > >> >>> > >> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262) > >> >>> at > >> >>> > >> > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) > >> >>> at > >> >>> > >> >>> > >> > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) > >> >>> at > >> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446) > >> >>> at java.lang.Thread.run(Thread.java:619) > >> >>> Caused by: java.lang.RuntimeException: A component event handler > >> method > >> >>> returned the value > >> >>> [EMAIL PROTECTED] > >> >>> org.apache.tapestry5.internal.structure.BlockImpl can not be > >> >>> handled. Configured return types are java.lang.Class, > >> java.lang.String, > >> >>> java.net.URL, org.apache.tapestry5.Link, > >> >>> org.apache.tapestry5.StreamResponse, > >> >>> org.apache.tapestry5.runtime.Component. > >> >>> at > >> >>> > >> >>> > >> > org.apache.tapestry5.internal.services.ObjectComponentEventResultProcessor.processResultValue(ObjectComponentEventResultProcessor.java:39) > >> >>> at > >> >>> > >> >>> > >> > $ComponentEventResultProcessor_11abad26009.processResultValue($ComponentEventResultProcessor_11abad26009.java) > >> >>> at > >> >>> > >> >>> > >> > $ComponentEventResultProcessor_11abad25f87.processResultValue($ComponentEventResultProcessor_11abad25f87.java) > >> >>> at > >> >>> > >> >>> > >> > org.apache.tapestry5.internal.services.ComponentResultProcessorWrapper.handleResult(ComponentResultProcessorWrapper.java:42) > >> >>> at > >> >>> > >> >>> > >> > org.apache.tapestry5.internal.structure.ComponentPageElementImpl$15.handleResult(ComponentPageElementImpl.java:1001) > >> >>> at > >> >>> > >> >>> > >> > org.apache.tapestry5.internal.services.EventImpl.storeResult(EventImpl.java:56) > >> >>> at > >> >>> > >> >>> > >> > com.bglobal.isharesnet.tapestry.components.fund.FundGraph.dispatchComponentEvent(FundGraph.java) > >> >>> at > >> >>> > >> >>> > >> > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:864) > >> >>> at > >> >>> > >> >>> > >> > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1025) > >> >>> ... 50 more > >> >>> > >> >>> > >> >>> > >> >> > >> >> > >> >> --------------------------------------------------------------------- > >> >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> >> For additional commands, e-mail: [EMAIL PROTECTED] > >> >> > >> >> > >> > > >> > >> > >> > >> -- > >> Howard M. Lewis Ship > >> > >> Creator Apache Tapestry and Apache HiveMind > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > > > > > > -- > View this message in context: > http://www.nabble.com/t5%3A-Returning-block-works-in-Firefox-but-not-in-IE-tp18091679p18113154.html > Sent from the Tapestry - User mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >