/** * Binding the zone parameter will cause any change of Select's value to be handled as an Ajax request that updates * the * indicated zone. The component will trigger the event {@link EventConstants#VALUE_CHANGED} to inform its * container that Select's value has changed. * * @since 5.2.0 */ @Parameter(defaultPrefix = BindingConstants.LITERAL) private String zone;
I'd guess it's because select already has a parameter called "zone"? Josh 2011/1/13 françois facon <fra.fa...@gmail.com>: > Hi all > > Do you see any raison that could explain why tapestry > search this kind of parameter in the form? > Where is this strategie dfine? > > Regards > François > > Le 10 janvier 2011 14:09, Facon François <francois.fa...@atosorigin.com> a > écrit : > >> in Jumpstart the page >> http://jumpstart.doublenegative.com.au/jumpstart/examples/javascript/ajaxselect1use >> a mixin that declare a parameter called zone. >> >> /** * The zone to be updated by us. */ @Parameter(defaultPrefix = >> BindingConstants.LITERAL, required = true) >> >> private String zone; >> >> this page works fine in 5.1.0.5 but in >> 5.2.4<https://github.com/frafac-JumpStart/jumpstart-4.12.2/issues/#issue/34>an >> exception occured >> >> An unexpected application exception has occurred. >> >> * org.apache.tapestry5.ioc.internal.OperationException >> >> Parameter(s) 'ZoneUpdater.zone' are required for >> org.apache.tapestry5.corelib.components.Select, but have not been bound. >> >> >> >> location >> >> classpath:jumpstart/web/pages/examples/javascript/AJAXSelect1.tml, >> line 14 >> >> 9 <form t:type="form" t:id="searchCriteria" style="margin: 0"> >> >> 10 <t:errors/> >> >> 11 >> >> 12 <t:label for="carMake"/>: >> >> 13 <select t:type="select" t:id="carMake" t:model="carMakes" >> t:blankLabel="Choose..." >> >> 14 t:mixins="zoneUpdater" t:clientEvent="change" >> t:event="changeOfCarMake" t:zone="searchZone"></select> >> >> 15 >> >> 16 <t:label for="carModel"/>: >> >> 17 <select t:type="select" t:id="carModel" t:model="carModels" >> t:blankLabel="Choose..." >> >> 18 t:mixins="zoneUpdater" t:clientEvent="change" >> t:event="changeOfCarModel" t:zone="searchZone"></select> >> >> 19 >> >> trace >> >> o Constructing instance of page class >> jumpstart.web.pages.examples.javascript.AJAXSelect1 >> >> >> >> * org.apache.tapestry5.ioc.internal.util.TapestryException >> >> Parameter(s) 'ZoneUpdater.zone' are required for >> org.apache.tapestry5.corelib.components.Select, but have not been bound. >> >> >> >> location >> >> classpath:jumpstart/web/pages/examples/javascript/AJAXSelect1.tml, >> line 14 >> >> Hide uninteresting stack framesStack trace >> >> o >> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.verifyRequiredParametersAreBound(ComponentPageElementImpl.java:1195) >> >> o >> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.containingPageDidLoad(ComponentPageElementImpl.java:830) >> >> o >> org.apache.tapestry5.internal.structure.PageImpl.loaded(PageImpl.java:171) >> >> o >> org.apache.tapestry5.internal.pageload.PageLoaderImpl$3.invoke(PageLoaderImpl.java:190) >> >> o >> org.apache.tapestry5.internal.pageload.PageLoaderImpl$3.invoke(PageLoaderImpl.java:174) >> >> o >> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65) >> >> o >> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) >> >> o >> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1063) >> >> o >> org.apache.tapestry5.internal.pageload.PageLoaderImpl.loadPage(PageLoaderImpl.java:173) >> >> o >> org.apache.tapestry5.internal.services.PageSourceImpl.getPage(PageSourceImpl.java:81) >> >> o >> org.apache.tapestry5.internal.services.NonPoolingRequestPageCacheImpl.get(NonPoolingRequestPageCacheImpl.java:74) >> >> o >> org.apache.tapestry5.internal.services.ComponentSourceImpl.getPage(ComponentSourceImpl.java:83) >> >> o >> jumpstart.web.services.PageProtectionFilter.isAuthorisedToPage(PageProtectionFilter.java:89) >> >> o >> jumpstart.web.services.PageProtectionFilter.handlePageRender(PageProtectionFilter.java:62) >> >> o >> org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:45) >> >> o >> org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:321) >> >> o >> org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26) >> >> o >> org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:984) >> >> o >> org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:974) >> >> o >> org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90) >> >> o >> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:90) >> >> o >> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:80) >> >> o >> org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85) >> >> o >> org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:103) >> >> o >> jumpstart.web.services.AssetProtectionFilter.service(AssetProtectionFilter.java:53) >> >> o >> org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:272) >> >> o >> org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53) >> >> o >> org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62) >> >> o >> org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:928) >> >> o >> org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:147) >> >> If I change the parameter name to zoneName, the binding works fine. >> >> When debugging >> public void bindParameter(String parameterName, Binding binding) >> >> { >> >> if (bindings == null) >> >> bindings = CollectionFactory.newCaseInsensitiveMap(); >> >> >> >> bindings.put(parameterName, binding); >> >> } >> >> in see the value LiteralBinding[zone: searchZone] for parameterName zone >> >> the exception occured when isBinding is looking for parameter zone in >> component searchCriteria >> >> which is a form >> >> >> >> >> >> François Facon >> Responsable Equipe Web Platform >> >> O&D - Technical Direction <http://web-asset/0> - Atos Worldline >> >> We love Tapestry. >> http://www.atosworldline.com/ >> Atos Worldline is an Atos Origin company: www.atosorigin.com >> >> >> >> [image: 132310] >> >> >> >> ------------------------------ >> >> Ce message et les pièces jointes sont confidentiels et réservés à l'usage >> exclusif de ses destinataires. Il peut également être protégé par le secret >> professionnel. Si vous recevez ce message par erreur, merci d'en avertir >> immédiatement l'expéditeur et de le détruire. L'intégrité du message ne >> pouvant être assurée sur Internet, la responsabilité du groupe Atos Origin >> ne pourra être recherchée quant au contenu de ce message. Bien que les >> meilleurs efforts soient faits pour maintenir cette transmission exempte de >> tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa >> responsabilité ne saurait être recherchée pour tout dommage résultant d'un >> virus transmis. >> >> This e-mail and the documents attached are confidential and intended solely >> for the addressee; it may also be privileged. If you receive this e-mail in >> error, please notify the sender immediately and destroy it. As its integrity >> cannot be secured on the Internet, the Atos Origin group liability cannot be >> triggered for the message content. Although the sender endeavours to >> maintain a computer virus-free network, the sender does not warrant that >> this transmission is virus-free and will not be liable for any damages >> resulting from any virus transmitted. >> > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org