Congratulations and thanks a lot! On Thu, Sep 8, 2011 at 9:08 AM, Hans Lesmeister < hans.lesmeis...@lessy-software.de> wrote:
> Congratulations! Thank you for this great Framework. > > > > Martijn Dashorst <dasho...@apache.org> schrieb: > > The Apache Wicket team is proud to announce the immediate availability of > the > newest release of their component oriented open source Java web framework. > Apache Wicket 1.5 has been in development for the last two years and brings > many improvements over previous versions. > > Downloading Apache Wicket 1.5 > ----------------------------- > > You can download the release here: > http://www.apache.org/dyn/closer.cgi/wicket/1.5.0 > > Or use this in your Maven POM to upgrade to the new version: > > <dependency> > <groupId>org.apache.wicket</groupId> > <artifactId>wicket-core</artifactId> > <version>1.5.0</version> > </dependency> > > Please note that Wicket’s main artifact ID has been renamed to wicket-core. > > You will need to upgrade all modules (i.e. wicket, wicket-extensions, > wicket-ioc, wicket-spring, etc) to 1.5.0. It is not possible to mix > previous > versions of Wicket with modules of this release. > > Most notable changes > -------------------- > > With this release the Wicket team has revised many of its internals. A > short list: > > - HTML5 components added: EmailTextField, NumberTextField, UrlTextField and > RangeTextField > > - New inter-component events (explained below) > > - Minimum required servlet API is servlet-api 2.5 > > - All standard validators now extend Behavior to allow for client side > validations > > - IBehavior has been removed and AbstractBehavior has been deprecated, you > should now extend Behavior instead > > - Simplified the request cycle processing and made it more extensible > > - URL handling is now in one place > > - Wicket’s rendering code has been greatly simplified > > - Improved browser caching support > > - ClientSideImageMap replaces old ImageMap > > - Better support for running behind proxies with x-forwarded-for header > > - Request cycle listeners make it easier to integrate frameworks in your > Wicket application > > - Consistent naming: methods with Javascript in the name have been renamed > to > use proper capitalization: JavaScript > > - Switching to HTTPS is as simple as configuring a new root mapper to make > Wicket HTTPS aware and annotating a page with @RequireHttps > > A longer list of changes and improvements can be found in our migration > guide. > > Inter-component events > ---------------------- > > Wicket 1.5 offers a simple, yet flexible, way for component to communicate > with each other in a decoupled manner. The two major interfaces that > facilitate this are: > > /** > * Objects that can send events > */ > public interface IEventSource { > <T> void send(IEventSink sink, Broadcast broadcast, T payload); > } > > and > > /** > * Objects that can receive events > */ > public interface IEventSink > { > /** > * Called when an event is sent to this sink > */ > void onEvent(IEvent<?> event); > } > > The classes that implement these interfaces, and can thus participate in > the > event mechanism are: Component, RequestCycle, Session, and Application. > > The mechanism allows for different event broadcast methods defined here: > > /** > * Defines the event broadcast type. > */ > public enum Broadcast { > BREADTH, > DEPTH, > BUBBLE, > EXACT; > } > > There is an example in wicket-examples which demonstrates the usage of > this. > > Applications can register custom event dispatchers in FrameworkSettings; > the > dispatchers can be used to build custom event delivery mechanisms. For > example > a custom IEventDispatcher mechanism can route events to annotated methods, > for > example: > > public class MyComponent extends Component { > @OnEvent > private void onUserAdded(UserAddedEvent event) {...} > } > > where UserAddedEvent is the event payload object. > > The default Component#onEvent method will be called even if custom > dispatchers > are registered. > > A default event is raised whenever Wicket begins to create an AJAX > response. > The payload of the event is the AjaxRequestTarget used for event. Sample > implementation: > > // component that always adds itself to the ajax response > public class MyCompo > >