Migration to Wicket 7.0Page edited by Martin GrigorovChanges (2)
Full ContentMigrating to Wicket 7.0
EnvironmentWicket 7.0 requires at least Java 7Wicket 7.0 requires Servlet 3.0The HTTP response is not flushed automatically when the request is started in asynchronous mode. WICKET-5152This is an improvement in Wicket 7.0 which should not affect any application migrating from Wicket 6.x. But if you use Servlet 3.0's AsyncContext in IResource in Wicket 7 then make sure that your code flushes the http response after completing the request. API changesorg/apache/wicket/core/util/io/SerializableChecker is replaced with org.apache.wicket.core.util.objects.checker.CheckingObjectOutputStream WICKET-4817CheckingObjectOutputStream accepts a list of org.apache.wicket.core.util.objects.checker.IObjectChecker objects which are used to check for different kind of problems during object serialization. Commit diff: d0441059e0 org/apache/wicket/markup/html/border/BoxBorder is removed with no replacement WICKET-4966.BoxBorder class has been deprecated in Wicket 6.x series org.apache.wicket.Component#renderHead(HtmlHeaderContainer) is renamed to Component#internalRenderHead(HtmlHeaderContainer) WICKET-4964Component#renderHead(HtmlHeaderContainer) was very similar to the usually used Component#renderHead(IHeaderResponse). So it has been renamed to avoid any confusions. org.apache.wicket.request.resource.ResourceReference#getDependencies() now returns a mutable List<HeaderItem> WICKET-5124The old API returned Iterable<? extends HeaderItem> and was inconvenient to override and add additional dependencies. MyResourceReference.java @Override public List<HeaderItem> getDependencies() { List<HeaderItem> dependencies = super.getDependencies(); dependencies.add(dep1); dependencies.add(dep2); return dependencies; }
If in your application you have code like: MyComponent.java StringResourceModel model = new StringResourceModel(resourceKey, model, "Some default value", new Object[] [param1, param2]); then the simplest solution is to use Model.of("Some default value"): MyComponent.java StringResourceModel model = new StringResourceModel(resourceKey, model, Model.of("Some default value"), new Object[] [param1, param2]); org.apache.wicket.extensions.validation.validator.+Xyz+Validator#decorate() now works with IValidationError WICKET-5174This method now accepts IValidationError as an argument and returns IValidationError. This way it can be used with other IValidationError implementations like RawValidationError for example. org.apache.wicket.ajax.attributes.AjaxRequestAttributes#setAllowDefault is renamed to #setPreventDefault WICKET-5197This is done to make it more consistent with _javascript_ API. org.apache.wicket.ajax.attributes.AjaxRequestAttributes#eventPropagation is now BUBBLE by default WICKET-5198This is done to make it more consistent with _javascript_ API. org.apache.wicket.ajax.form.AjaxFormValidatingBehavior doesn't use static methods anymore WICKET-5196To use AjaxFormValidatingBehavior in Wicket 6.x the application code should do something like: MyComponent.java
AjaxFormValidatingBehavior.addToAllFormComponents(form, "keydown", Duration.ONE_SECOND);
Due to the usage of static method it wasn't possible to extend this behavior and override for example #updateAjaxAttributes(AjaxRequestAttributes). The behavior has been reworked a bit to allow this. The new usage is: MyComponent.java form.add(new AjaxFormValidatingBehavior("keydown", Duration.ONE_SECOND); or MyComponent.java formComponent.add(new AjaxFormValidatingBehavior("keydown", Duration.ONE_SECOND); in this case the formComponent's owning Form will be used. Behavior changesorg.apache.wicket.request.Url#getQueryString WICKET-4664Url#getQueryString() now behaves as HttpServletRequest behaves :
RequestUtils#decodeParameters() now strips the "?" from the output value. org.apache.wicket.request.http.WebResponse encodes the value of the "filename" in Content-Disposition header WICKET-4934The value of the file name used in "Content-Disposition" response header can contain characters which should be encoded org.apache.wicket.markup.html.form.FormComponentLabel outputs "required", "disabled" and "error" classes when its form component is either required, disabled or invalid. WICKET-5177This way it is in sync with AutoLabel (the auto component that is used for "wicket:for" attribute). org.apache.wicket.markup.html.panel.FeedbackPanel Do not set CSS class on the li > span element for a feedback message WICKET-4831The css class is now only applied to the li element and not to the span inside. Additionally a FeedbackPanel#newMessageItem() method has been added to allow customization of each feedback message item (similar to DataTable#newRowItem()). AjaxEventBehavior doesn't prevent the default behavior of the _javascript_ event WICKET-5197From now on only AjaxFallback** components prevent the default _javascript_ event behavior so only the Ajax call is made when _javascript_ is enabled in the browser.
attributes.setPreventDefault(true);
Ajax behaviors let _javascript_ events bubble by default WICKET-5198If _javascript_ events should not bubble then use: attributes.setEventPropagation(EventPropagation.STOP); or: attributes.setEventPropagation(EventPropagation.STOP_IMMEDIATE); Deprecated classes/methods/fields are removedAbstractDefaultAjaxBehavior's #getSuccessHandler(), #getFailureHandler(), #getChannel() and #getPrecondition() are removed.They were deprecated since 6.0.0 and were there only for backward compatibility. Use #updateAjaxAttributes() to configure the same functionalities. The old Tree component in wicket-extensions is removed.It was based on Swing APIs and many people complained about this. Use the new Tree component introduced in Wicket 6.0.0 instead. Dependency updatesAll libraries on which Wicket modules depend are updated to their latest stable versions.
Change Notification Preferences
View Online
|
View Changes
|
Add Comment
|
- [CONF] Apache Wicket > Migration to Wicket 7.0 confluence
- [CONF] Apache Wicket > Migration to Wicket 7.0 confluence
- [CONF] Apache Wicket > Migration to Wicket 7.0 confluence
- [CONF] Apache Wicket > Migration to Wicket 7.0 confluence
- [CONF] Apache Wicket > Migration to Wicket 7.0 confluence
- [CONF] Apache Wicket > Migration to Wicket 7.0 confluence
- [CONF] Apache Wicket > Migration to Wicket 7.0 confluence
- [CONF] Apache Wicket > Migration to Wicket 7.0 confluence
- [CONF] Apache Wicket > Migration to Wicket 7.0 confluence
- [CONF] Apache Wicket > Migration to Wicket 7.0 confluence
- [CONF] Apache Wicket > Migration to Wicket 7.0 confluence
- [CONF] Apache Wicket > Migration to Wicket 7.0 confluence
- [CONF] Apache Wicket > Migration to Wicket 7.0 confluence
- [CONF] Apache Wicket > Migration to Wicket 7.0 confluence
- [CONF] Apache Wicket > Migration to Wicket 7.0 confluence
- [CONF] Apache Wicket > Migration to Wicket 7.0 confluence
- [CONF] Apache Wicket > Migration to Wicket 7.0 confluence
- [CONF] Apache Wicket > Migration to Wicket 7.0 confluence
- [CONF] Apache Wicket > Migration to Wicket 7.0 confluence
- [CONF] Apache Wicket > Migration to Wicket 7.0 confluence
- [CONF] Apache Wicket > Migration to Wicket 7.0 confluence