blob: 99dd6cc39b76e1b45010af9944179864fda565fd [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Home | Apache Wicket</title>
<meta charset="utf8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="shortcut icon" href="/favicon.ico" type="image/vnd.microsoft.icon" />
<link rel="stylesheet" href="/css/style.css" type="text/css" media="screen" />
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet" />
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/jquery.slick/1.5.5/slick.css"/>
<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/jquery.slick/1.5.5/slick-theme.css"/>
<script type="text/javascript" src="//cdn.jsdelivr.net/jquery.slick/1.5.5/slick.min.js"></script>
</head>
<body class="index">
<div class="header jumbotron">
<nav class="mainmenu">
<ul>
<!-- /start/quickstart.html || -->
<li class=""><a href="/start/quickstart.html">Quick Start</a></li>
<!-- /start/download.html || -->
<li class=""><a href="/start/download.html">Download</a></li>
<!-- /learn || -->
<li class=""><a href="/learn">Documentation</a></li>
<!-- /help || -->
<li class=""><a href="/help">Support</a></li>
<!-- /contribute || -->
<li class=""><a href="/contribute">Contribute</a></li>
<!-- /apache || -->
<li class=""><a href="/apache">Apache</a></li>
</ul>
</nav>
<div class="jumbotron-logo">
<a href="/"><img src="/img/logo-apachewicket-white.svg" alt="Apache Wicket"></a>
</div>
<div class="jumbotron-mission">Write maintainable, secure and scalable web applications using just Java and HTML</div>
<div class="jumbotron-download">
<a class="button" href="#news">Latest News</a>
<a class="button" href="/start/quickstart.html">Get started</a>
</div>
<div class="l-first">&nbsp;</div>
</div>
<div class="l-container">
<section>
<!-- removed because it doesn't work (yet)
-
path: builtwithwicket.html
sectionId: tumblr
-->
<div class="l-full l-first preamble">
<h1>Introducing Apache&nbsp;Wicket</h1>
<p>Invented in 2004, Wicket is one of the few survivors of the Java
serverside web framework wars of the mid 2000's. Wicket is an open
source, component oriented, serverside, Java web application framework.
With a history of over a decade, it is still going strong and has a
solid future ahead. Learn why you should consider Wicket for your next
web application.</p>
</div>
<div class="l-first">
<div class="l-one-third">
<img src="/img/java-wicket-html5.png" class="l-full" />
<h3>Just Java &amp; HTML</h3>
<p>Leverage what you know about Java or your favourite HTML
editor to write Wicket applications. With pure Java code and HTML
markup Wicket is the go-to web framework for purists.</p>
</div>
<div class="l-one-third">
<img src="/img/wicket-safe.png" class="l-full" />
<h3>Secure by Default</h3>
<p>URLs do not expose sensitive information and all component paths are
session-relative. Wicket keeps your model private except those parts
you explicitly expose.</p>
</div>
<div class="l-one-third">
<img src="/img/wicket-components.png" class="l-full" />
<h3>AJAX Components</h3>
<p>Write Ajax applications without having to write a single line
of JavaScript code. Wicket's Ajax functionality makes it trivial
to update selected parts of a UI, and comes with a great selection
of basic Ajax components.</p>
</div>
</div>
<div class="l-first">
<div class="l-one-third">
<h3>Open Source with Apache License</h3>
<p>Since its inception in 2004 Wicket has been an open source
project and remains available under one of the most permissive
licenses: the Apache Software License.</p>
</div>
<div class="l-one-third">
<h3>Maintainable code</h3>
<p>Pages and Components in Wicket are real Java objects that support
encapsulation, inheritance and events. Create high level components
with ease and bundle its stylesheets, JavaScript and other resources
into one reusable package.</p>
</div>
<div class="l-one-third">
<h3>Internationalized to take on the world</h3>
<p>With support of over 25 languages out-of-the-box, Wicket let's
you get started in your own language, or a second language with no
effort. You can provide alternative languages on the application,
page, or even component level.</p>
</div>
</div>
<div class="l-first">
<div class="l-one-third">
<h3>Multi-tab and window support</h3>
<p>No more pain while keeping taps on multiple tabs and windows.
Wicket's automatic state storage ensures that your users can open
pages in new tabs and windows without causing problems.</p>
</div>
<div class="l-two-third">
<h3>Work with JavaScript and CSS</h3>
<p>Global JavaScript libraries and CSS styling mix properly with
component local JavaScript and CSS resources. You can use custom
component libraries that ship with default JavaScript behaviour and
CSS styling, without having to do anything yourself. Creating such
self-contained component libraries is as easy as creating a JAR
file.</p>
</div>
</div>
<div class="l-first">
<div class="l-one-third">
<h3>Test your pages and components</h3>
<p>With WicketTester you can achieve testing coverage your QA
department can only dream of. Test your pages without having to run
inside a browser, or start a container. Test your components directly,
check their rendered markup tags, attributes and contents with ease.</p>
</div>
<div class="l-one-third">
<h3>Injection support</h3>
<p>Inject your services into your pages and components with the
technology of your choosing: Wicket provides integration with CDI
(JSR-305), Spring and Guice.</p>
</div>
<div class="l-one-third">
<h3>JavaEE integration</h3>
<p>If you are using the Web profile of JavaEE 6 or newer, you can
leverage JPA, EJBs, Bean Validation and CDI with Wicket's integrations
for these specifications.</p>
</div>
</div>
<div class="l-first"></div>
</section>
<section id="builtwithwicket" class="builtwithwicket">
<header class="preamble">
<h1>Projects Using Apache Wicket</h1>
<p>
Many projects use Wicket but are not known for it. Below you
find a list of projects that are "Powered by Wicket".
</p>
</header>
<article class="l-full">
<div class="builtwithwicket-slider"></div>
<br><br>
<p>
This list is generated from our Tumblr feed 'Built with Wicket'.
You can submit your own project to this list through
<a href="http://builtwithwicket.tumblr.com/submit" rel="nofollow">this form</a>.
</p>
</article>
<div class="l-first"></div>
<!-- Only display the blog image, title and post URL -->
<script type="text/javascript">
function randomIntFromInterval(min,max)
{
return Math.floor(Math.random()*(max-min+1)+min);
}
$.getJSON('http://builtwithwicket.tumblr.com/api/read/json?callback=?',
function(response) {
var posts = response.posts;
for(var postIndex in posts) {
var post = posts[postIndex];
var caption = jQuery('<div>' + post['photo-caption'] + '</div>').text().substring(0,150) + "...";
var newSlide = $('.builtwithwicket-slider').append(
'<div class="builtwithwicket-post">\n' +
' <img class="builtwithwicket-screenshot" data-lazy="' + post['photo-url-500'] + '">\n' +
' <p class="builtwithwicket-caption">' + caption + '</p>\n' +
' <a href="' + post['url'] + '" rel="nofollow">More</a>\n' +
'</div>');
}
$('.builtwithwicket-slider').slick({
arrows: true,
autoplay: true,
autoplaySpeed: 5000,
dots: true,
draggable: true,
infinite: true,
initialSlide: randomIntFromInterval(0, posts.length),
lazyLoad: 'ondemand',
pauseOnDotsHover: true,
responsive: [ {
breakpoint: 590,
settings: {
slidesToShow: 1,
slidesToScroll: 1
}
},
{
breakpoint: 960,
settings: {
slidesToShow: 2,
slidesToScroll: 2
}
},
],
slidesToShow: 3,
slidesToScroll: 3,
swipe: true,
});
});
</script>
</section>
<section id="news" class="">
<div class="l-full l-first preamble">
<h1>News about Apache Wicket</h1>
<p>Get the latest updates to releases, security bulletins, community
news and more.</p>
</div>
<div class="l-two-third">
<article>
<h2>Apache Wicket 7.0.0-M6 released</h2>
<small>21 Jun 2015</small>
<p>The Apache Wicket PMC is proud to announce Apache Wicket 7.0.0-M6!</p>
<p>We have released another milestone release for Apache Wicket 7. We aim
to finalise Wicket 7 over the coming months and request your help in
testing the new major version.</p>
<h3 id="caveats">Caveats</h3>
<p>It is still a development version so expect API breaks to happen over
the course of the coming milestone releases.</p>
<h3 id="semantic-versioning">Semantic versioning</h3>
<p>As we adopted semver Wicket 7 will be the first release since 6.0 where
we are able to refactor the API. We will continue to use semver when we
have made Wicket 7 final and maintain api compatibility between minor
versions of Wicket 7.</p>
<h3 id="requirements">Requirements</h3>
<p>Wicket 7 requires the following:</p>
<ul>
<li>Java 7</li>
<li>Servlet 3 compatible container</li>
</ul>
<p>You can’t mix wicket libraries from prior Wicket versions with Wicket 7.</p>
<h3 id="migration-guide">Migration guide</h3>
<p>As usual we have a migration guide available online for people
migrating their applications to Wicket 7. We will continue to update
the guide as development progresses. If you find something that is not
in the guide, please update the guide, or let us know so we can update
the guide.</p>
<p>You can find the guide here: <a href="http://s.apache.org/wicket7migrate">http://s.apache.org/wicket7migrate</a></p>
<h3 id="new-and-noteworthy">New and noteworthy</h3>
<ul>
<li>
<p>New inline image support for the new data: protocol. See
http://ci.apache.org/projects/wicket/apidocs/6.x/org/apache/wicket/markup/html/image/InlineImage.html
for more information.</p>
</li>
<li>
<p>Added CSRF prevention measure to Wicket. The
CsrfPreventionRequestCycleListener
(http://ci.apache.org/projects/wicket/apidocs/6.x/org/apache/wicket/protocol/http/CsrfPreventionRequestCycleListener.html)
will prevent requests coming from other origins than allowed from
performing actions. See the JavaDoc for more information on this
listener.</p>
</li>
<li>
<p>JQuery was upgraded to most recent version.</p>
</li>
</ul>
<h3 id="using-this-release">Using this release</h3>
<p>With Apache Maven update your dependency to (and don’t forget to
update any other dependencies on Wicket projects to the same version):</p>
<div class="highlight"><pre><code class="language-xml" data-lang="xml"><span class="nt">&lt;dependency&gt;</span>
<span class="nt">&lt;groupId&gt;</span>org.apache.wicket<span class="nt">&lt;/groupId&gt;</span>
<span class="nt">&lt;artifactId&gt;</span>wicket-core<span class="nt">&lt;/artifactId&gt;</span>
<span class="nt">&lt;version&gt;</span>7.0.0-M6<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;/dependency&gt;</span></code></pre></div>
<p>Or download and build the distribution yourself, or use our
convenience binary package</p>
<ul>
<li>Source: <a href="http://www.apache.org/dyn/closer.cgi/wicket/7.0.0-M6">http://www.apache.org/dyn/closer.cgi/wicket/7.0.0-M6</a></li>
<li>Binary: <a href="http://www.apache.org/dyn/closer.cgi/wicket/7.0.0-M6/binaries">http://www.apache.org/dyn/closer.cgi/wicket/7.0.0-M6/binaries</a></li>
</ul>
<h3 id="about-this-release">About this release</h3>
<p>Below you can find the cryptographic signatures for the distributions
and the release notes.</p>
<h4 id="the-signatures-for-the-source-release-artefacts">The signatures for the source release artefacts:</h4>
<p>The signatures for the source release artefacts:</p>
<p>Signature for apache-wicket-7.0.0-M6.zip:</p>
<div class="highlight"><pre>
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org
iEYEABECAAYFAlWANLgACgkQJBX8W/xy/UXSmQCgtAb+JrBeiq4+OdbpbN22sy+/
F3YAn2ZeQ4byJPdmc4m4K6LLgg41AWSU
=xN5i
-----END PGP SIGNATURE-----
</pre></div>
<p>Signature for apache-wicket-7.0.0-M6.tar.gz:</p>
<div class="highlight"><pre>
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org
iEYEABECAAYFAlWANLgACgkQJBX8W/xy/UUEsACgxiS2RQzuOi35Yw5C4c90KAFZ
yPIAoMU7z9Go0pn5ZFKZwq+VDA0cvoh4
=KW/I
-----END PGP SIGNATURE-----
</pre></div>
<h4 id="changelog-for-700-m6">CHANGELOG for 7.0.0-M6:</h4>
<p>Release Notes - Wicket - Version 7.0.0-M6</p>
<h4 id="bugs">Bugs</h4>
<pre><code>* [WICKET-5790] - VariableInterpolator &amp; #getThrowExceptionOnMissingResource
* [WICKET-5814] - CryptoMapper clears feedback messages
* [WICKET-5816] - Apps can't use Application.setName instead of WicketFilter for e.g. JMX names
* [WICKET-5822] - AjaxSelfUpdatingTimer stops working after ajax download
* [WICKET-5825] - Deployment of wicket-examples.war fails in Tomcat
* [WICKET-5828] - PageProvider not serializable
* [WICKET-5834] - NPE in DefaultPropertyResolver
* [WICKET-5835] - InlineEnclosure doesn't call child.configure() before updating its visilbity
* [WICKET-5837] - JUnit tests may fail because of AbstractDefaultAjaxBehavior
* [WICKET-5838] - Last-modified header of external markup is ignored
* [WICKET-5841] - continueToOriginalDestination() discards new cookies
* [WICKET-5843] - CryptoMapper doesn't work with context relative UrlResourceReferences
* [WICKET-5845] - AuthenticatedWebSession.get() returns a new session with signedIn false
* [WICKET-5850] - LazyInitProxyFactory causes NoClassDefFound org/apache/wicket/proxy/ILazyInitProxy in case of multimodule deployment
* [WICKET-5851] - PackageResourceTest#packageResourceGuard test fails under Windows
* [WICKET-5853] - LongConverter converts some values greater than Long.MAX_VALUE
* [WICKET-5855] - RememberMe functionality seems to be broken after the change of the default crypt factory
* [WICKET-5856] - StackOverFlowError when working with transparent containers
* [WICKET-5857] - PagingNavigator invalid HTML (rel attribute on span tag)
* [WICKET-5858] - AjaxRequestTarget.focusComponent does not work in modal window
* [WICKET-5861] - BigDecimalConverter does not allow parsing of values great than Double.MAX_VALUE
* [WICKET-5862] - Wicket Container visibility bug
* [WICKET-5864] - Multipart Ajax form submit does not release the channel in case of connection failure
* [WICKET-5869] - Kittencaptcha doesn't calculate click y-coordinate correctly
* [WICKET-5870] - wicket-event-jquery.js: Wicket.Browser.isIE11() does not return boolean
* [WICKET-5874] - WicketTester TagTester does not work as expected when using non self closing tags
* [WICKET-5879] - Using an AjaxSubmitLink to hide its form results in an exception
* [WICKET-5881] - NPE in FormComponent#updateCollectionModel in case of no converted input and unmodifiable collection
* [WICKET-5883] - Feedback messages not cleared for invisible/disabled form components on submit.
* [WICKET-5887] - wicket.xsd refers to non-existing xhtml.label:attlist
* [WICKET-5891] - Parsing of ChinUnionPay credit card should use the first 6 characters
* [WICKET-5893] - CookieUtils should use the original response when saving a cookie
* [WICKET-5895] - validateHeaders fails to detect missing head/body (regression)
* [WICKET-5898] - StackOverflowError after form submit with a validation error
* [WICKET-5900] - Add WicketTester support for IAjaxLink
* [WICKET-5903] - Regression in mount resolution when using optional parameters
* [WICKET-5904] - NPE after editing a markup file in debug mode
* [WICKET-5906] - Use default on missing resource does not work
* [WICKET-5908] - A new HtmlHeaderContainer is added each time a page instance is rendered
* [WICKET-5910] - CGLib proxy should not intercept protected methods
* [WICKET-5911] - Re-rendering page after exception in render phase does not call onBeforeRender()
* [WICKET-5912] - NPE in Page#hasInvisibleTransparentChild
* [WICKET-5915] - The application can not find /META-INF/wicket/**.properties on Windows systems
* [WICKET-5916] - StackOverflowError when calling getObject() from load() in LDM
* [WICKET-5917] - Do not use jQuery's $ in String snippets in Java code
</code></pre>
<h4 id="improvement">Improvement</h4>
<pre><code>* [WICKET-5314] - AbstractAutoCompleteBehavior does not support AjaxChannels
* [WICKET-5749] - Wicket-auth-roles should deal with resource authorization
* [WICKET-5789] - Make org.apache.wicket.protocol.ws.javax.WicketServerEndpointConfig publicly visible
* [WICKET-5801] - Responsive Images
* [WICKET-5823] - DefaultAuthenticationStrategy should be modified to reduce copy/paste while extending it's functionality
* [WICKET-5829] - rename PageSettings#recreateMountedPagesAfterExpiry
* [WICKET-5831] - Improve unsafe Id reporting in the AbstractRepeater
* [WICKET-5832] - Do not fail at CDI's ConversationPropagator when running in non-http thread
* [WICKET-5833] - Add a way to get all opened web socket connections per user session
* [WICKET-5840] - WicketTester doesn't support #clickLink() for ExternalLink component
* [WICKET-5859] - Add Hebrew and Arabic translations
* [WICKET-5860] - Cross-Site Websocket Hijacking protection
* [WICKET-5863] - Overiding disableCaching in ServletWebResponse is ignored when responce is buffered
* [WICKET-5865] - AjaxEditableLabel should implement IGenericComponent
* [WICKET-5872] - wicket extensions initializer.properties for greek language
* [WICKET-5875] - ComponentRenderer.renderComponent() unexpectedly produces a WicketRuntimeException when called with a nested Component which contains a nested wicket:message
* [WICKET-5889] - Ability to not submit a nested form
* [WICKET-5892] - add ClientProperties#isJavaScriptEnabled()
* [WICKET-5894] - Support *.woff2 webfonts in SecurePackageResourceGuard as well
* [WICKET-5901] - Leaving veil when ajax processing ends with redirect
* [WICKET-5905] - allow listening to Ajax calls before scheduling
* [WICKET-5921] - Provide a default implementation of IModelComparator that always returns false
</code></pre>
<h4 id="new-feature">New Feature</h4>
<pre><code>* [WICKET-5819] - Support for HTML 5 media tags (audio / video)
* [WICKET-5827] - Allow to apply multiple Javascript / CSS compressors
* [WICKET-5897] - Use the #isEnabled() method with validators
* [WICKET-5918] - Create an Image component that uses the new data: protocol (an InlineImage)
* [WICKET-5919] - Add support for CSRF prevention
</code></pre>
<h4 id="task">Task</h4>
<pre><code>* [WICKET-5896] - Upgrade jQuery to latest stable versions (1.11.4 &amp; 2.1.3)
</code></pre>
<h4 id="wish">Wish</h4>
<pre><code>* [WICKET-5848] - Remove .settings folders of projects
</code></pre>
<p>Have fun!</p>
<p>— The Wicket team</p>
<a href="/news/2015/06/21/wicket-7.0.0-M6-released.html">Read more...</a>
</article>
</div>
<div class="l-one-third news">
<h2>Older news</h2>
<p>See the <a href="/news">archives</a> for all news
articles concerning release, security and community updates.</p>
<p>Note that you can subscribe to our <a type="application/atom+xml"
title="Atom 1.0 feed" href="/atom.xml">RSS feed</a> to
get updates in your favorite RSS reader the moment they happen.</p>
<ul>
<li>
<h3>Apache Wicket 6.20.0 released</h3>
<small>14 Jun 2015</small>
The Apache Wicket PMC is proud to announce Apache Wicket 6.20.0! This release marks another minor release of Wicket 6. Starting with Wicket 6 we...
<a href="/news/2015/06/14/wicket-6.20.0-released.html">more</a>
</li>
<li>
<h3>Wicket 1.5.13 released</h3>
<small>13 Feb 2015</small>
This is the thirteenth maintenance release of the Wicket 1.5.x series. This release brings over 1 bug fix and 1 improvement. Git tag Changelog To...
<a href="/news/2015/02/13/wicket-1.5.13-released.html">more</a>
</li>
<li>
<h3>New committer - Sebastien Briquet</h3>
<small>13 Feb 2015</small>
The Project Management Committee (PMC) for Apache Wicket has asked Sebastien Briquet to become a committer and we are pleased to announce that he has...
<a href="/news/2015/02/13/new-committer-Sebastien-Briquet.html">more</a>
</li>
<li>
<h3>Apache Wicket 7.0.0-M5 released</h3>
<small>02 Feb 2015</small>
The Apache Wicket PMC is proud to announce Apache Wicket 7.0.0-M5! We have released another milestone release for Apache Wicket 7. We aim to finalise...
<a href="/news/2015/02/02/wicket-7.0.0-M5-released.html">more</a>
</li>
<li>
<h3>Apache Wicket 6.19.0 released</h3>
<small>02 Feb 2015</small>
The Apache Wicket PMC is proud to announce Apache Wicket 6.19.0! This release marks another minor release of Wicket 6. Starting with Wicket 6 we...
<a href="/news/2015/02/02/wicket-6.19.0-released.html">more</a>
</li>
</ul>
</div>
<div class="l-first"></div>
</section>
</div>
<footer class="l-container">
<div class="l-full">
<img height="60px" src="/img/asf_logo.gif" style="float:left">
Copyright © 2014 — The Apache Software Foundation. Apache Wicket,
Wicket, Apache, the Apache feather logo, and the Apache Wicket
project logo are trademarks of The Apache Software Foundation. All
other marks mentioned may be trademarks or registered trademarks of
their respective owners.
</div>
</footer>
</body>
</html>