Binding not found for required parameter called zone in mixin -------------------------------------------------------------
Key: TAP5-1415 URL: https://issues.apache.org/jira/browse/TAP5-1415 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.2.4, 5.2.3, 5.2.2, 5.2.1, 5.2.0 Reporter: François Facon in Jumpstart v 4.12.2 the page http://jumpstart.doublenegative.com.au/jumpstart/examples/javascript/ajaxselect1 <div t:type="zone" t:id="searchZone" style="background-color: eee; padding: 15px"> <form t:type="form" t:id="searchCriteria" style="margin: 0"> <t:errors/> <t:label for="carMake"/>: <select t:type="select" t:id="carMake" t:model="carMakes" t:blankLabel="Choose..." t:mixins="zoneUpdater" t:clientEvent="change" t:event="changeOfCarMake" t:zone="searchZone"></select> <t:label for="carModel"/>: <select t:type="select" t:id="carModel" t:model="carModels" t:blankLabel="Choose..." t:mixins="zoneUpdater" t:clientEvent="change" t:event="changeOfCarModel" t:zone="searchZone"></select> Keywords: <input t:type="TextField" t:id="keyWords" t:mixins="zoneUpdater" t:clientEvent="keyup" t:event="changeOfKeyWords" t:zone="searchZone"/> (optional)<br/> <input type="submit" value="Save"/> </form> </div> <br/> Use 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 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. 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 According to Mr Lewis Ship "This was a bit of unintended consequences ... the Mixin's zone parameter was ignored and the Select components (new in 5.2) zone parameter was bound instead. Using zoneupdater.zone="searchZone", which is Tapestry's way of identifying, in the template, that its the zone parameter of the ZoneUpdater mixin that is bound, should fix it." Regards François -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.