blob: 12bf3173f0cc0d9f484af64dae5e7aa4520eece5 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<title>Apache Wicket - Features</title>
<link rel="stylesheet" href="/css/screen.css" type="text/css" media="screen" />
<!--[if lt ie 7]>
<link rel="stylesheet" href="/css/ie.css" type="text/css" media="screen" />
<![endif]-->
<link rel="shortcut icon" href="/favicon.ico" type="image/vnd.microsoft.icon" />
<link rel="alternate" type="application/atom+xml" href="/atom.xml" />
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
</head>
<body>
<div id="container">
<div id="content">
<div id="header"><a href="/"><h1 id="logo"><span>Apache Wicket</span></h1></a></div>
<div id="navigation">
<h5><a name="Navigation-Wicket"></a>Meet Wicket</h5>
<ul>
<li>
<a href="/" title="Index">Home</a>
</li>
<li>
<a href="/meet/introduction.html" title="Introduction">Introduction</a>
</li>
<li>
<a href="/meet/features.html" title="Features">Features</a>
</li>
<li>
<a href="/meet/buzz.html" title="Buzz">Buzz</a>
</li>
<li>
<a href="/meet/vision.html" title="Vision">Vision</a>
</li>
<li>
<a href="/meet/blogs.html" title="Blogs">Blogs</a>
</li>
</ul>
<h5>
<a name="Navigation-GettingStarted" id="Navigation-GettingStarted"></a>Get Started
</h5>
<ul>
<li>
<a href="/start/download.html" title="Download Wicket">Download Wicket</a>
</li>
<li>
<a href="/start/quickstart.html" title="Getting started via a Maven Archetype">Quickstart</a>
</li>
<li>
<a href="http://www.jweekend.com/dev/LegUp" rel="nofollow">More archetypes</a>
</li>
<li>
<a href="/help" title="Get help">Get help</a>
</li>
<li>
<a href="/help/email.html" title="Wicket Mailing Lists">Mailing Lists</a>
</li>
</ul>
<h5>
<a name="Navigation-Documentation" id="Navigation-Documentation"></a>Learn
</h5>
<ul>
<li>
<a href="/start/userguide.html" title="User Guide">User Guide</a>
</li>
<li>
<a href="/learn/examples" title="Examples">Examples</a>
</li>
<li>
<a href="http://www.wicket-library.com/wicket-examples/compref/">Components</a>
</li>
<li>
<a href="/learn/projects/" title="Projects extending basic Wicket">Projects</a>
</li>
<li>
<a href="https://cwiki.apache.org/confluence/display/WICKET">Wiki</a>
</li>
<li>
<a href="https://cwiki.apache.org/confluence/display/WICKET/Reference+library">Reference guide</a>
</li>
<li>
<a href="/learn/books" title="Books">Books</a>
</li>
<li>
<a href="/learn/ides.html" title="IDEs">IDEs</a>
</li>
</ul>
<h5>
<a name="Navigation-Releases" id="Navigation-Releases"></a>Releases
</h5>
<ul>
<li>
<a href="http://www.apache.org/dyn/closer.cgi/wicket/6.20.0">Wicket 6.20</a>
</li>
<li>
<a href="http://www.apache.org/dyn/closer.cgi/wicket/1.5.13">Wicket 1.5</a>
</li>
<li>
<a href="http://www.apache.org/dyn/closer.cgi/wicket/1.4.23">Wicket 1.4</a>
</li>
<li>
<a href="http://www.apache.org/dyn/closer.cgi/wicket/1.3.7">Wicket 1.3</a>
</li>
<li>
<a href="http://wicket.sf.net/wicket-1.2" class="external-link" rel="nofollow">Wicket 1.2</a>
</li>
<li>
<a href="http://wicket.sf.net/wicket-1.1" class="external-link" rel="nofollow">Wicket 1.1</a>
</li>
<li>
<a href="http://wicket.sf.net/wicket-1.0" class="external-link" rel="nofollow">Wicket 1.0</a>
</li>
</ul>
<h5>
<a name="Navigation-Docs" id="Navigation-Docs"></a>API Docs
</h5>
<ul>
<li>
<a href="http://ci.apache.org/projects/wicket/apidocs/6.x/" title="JavaDocs of Apache Wicket 6.x">Wicket 6.x</a>
</li>
<li>
<a href="http://ci.apache.org/projects/wicket/apidocs/1.5.x/" title="JavaDocs of Apache Wicket 1.5.x">Wicket 1.5</a>
</li>
<li>
<a href="http://ci.apache.org/projects/wicket/apidocs/1.4.x" title="JavaDocs of Apache Wicket 1.4.x">Wicket 1.4</a>
</li>
<li>
<a href="http://ci.apache.org/projects/wicket/apidocs/1.3.x" title="JavaDocs of Apache Wicket 1.3.x">Wicket 1.3</a>
</li>
</ul>
<h5>Wicket 7.x</h5>
<ul>
<li>
<a href="http://www.apache.org/dyn/closer.cgi/wicket/7.0.0-M6">Download M6</a>
</li>
<li>
<a href="https://cwiki.apache.org/confluence/display/WICKET/Migration+to+Wicket+7.0">Migration guide</a>
</li>
<li>
<a href="http://ci.apache.org/projects/wicket/apidocs/7.x/" title="JavaDocs of Apache Wicket 7.x">API Docs 7.x</a>
</li>
</ul>
<h5>
<a name="Navigation-Developers" id="Navigation-Developers"></a>Contribute
</h5>
<ul>
<li>
<a href="/contribute/write.html" title="Writing documentation">Writing docs</a>
</li>
<li>
<a href="/contribute/build.html" title="Building from SVN">Build Wicket</a>
</li>
<li>
<a href="/contribute/patch.html" title="Provide a patch">Provide a patch</a>
</li>
<li>
<a href="/contribute/release.html" title="Release Wicket">Release Wicket</a>
</li>
<li>
<a href="https://fisheye6.atlassian.com/browse/wicket-git" title="Git Overview" class="external-link" rel="nofollow">Fisheye</a>
</li>
</ul>
<h5>
<a name="Navigation-Apache" id="Navigation-Apache"></a>Apache
</h5>
<ul>
<li>
<a href="http://www.apache.org/" class="external-link" rel="nofollow">Apache</a>
</li>
<li>
<a href="http://www.apache.org/licenses/" class="external-link" rel="nofollow">License</a>
</li>
<li>
<a href="http://www.apache.org/foundation/sponsorship.html" class="external-link" rel="nofollow">Sponsorship</a>
</li>
<li>
<a href="http://apache.org/foundation/thanks.html" class="external-link" rel="nofollow">Thanks</a>
</li>
<li>
<a href="/apache/friends.html" title="Apache projects using Wicket">Friends</a>
</li>
</ul>
</div>
<div id="contentbody">
<h1>Features</h1>
<h2 id="pojo-component-model">POJO Component Model</h2>
<p>Pages and Components in Wicket are real Java objects that support
encapsulation, inheritance and events.</p>
<h2 id="ease-of-development">Ease of Development</h2>
<p>Because Wicket is Java and HTML, you can leverage what you know about Java or
your favorite HTML editor to write Wicket applications.</p>
<h2 id="separation-of-concerns">Separation of Concerns</h2>
<p>Wicket does not mix markup with Java code and adds no special syntax to your
markup files. The worlds of HTML and Java are parallel and associated only by
Wicket ids, which are attributes in HTML and Component properties in Java.
Since Wicket HTML is just HTML and Wicket Java is just Java, coders and
designers can work independently to a large degree and without relying on any
special tools.</p>
<h2 id="secure">Secure</h2>
<p>Wicket is secure by default. URLs do not expose sensitive information and all
component paths are session-relative. Explicit steps must be taken to share
information between sessions. Furthermore URL encryption allows highly secure web sites.</p>
<h2 id="transparent-scalable-clustering-support">Transparent, Scalable Clustering Support</h2>
<p>All Wicket applications will work on a cluster automatically and without
additional work. Once bottlenecks are understood, Wicket enables tuning of
page state replication. The next version of Wicket will support client-side
models for zero-state scalability.</p>
<h2 id="transparent-back-button-support">Transparent Back Button Support</h2>
<p>Wicket supports configurable page version management. When users submit a
form or follow a link from a page they accessed with the back button in their
browser, Wicket is able to revert the page object to the state it was in when
the page was originally rendered. This means you can write web applications
that support the back button with very little work.</p>
<h2 id="multi-tab-and-multi-window-support">Multi-tab and multi-window support</h2>
<p>Wicket provides an easy way to write application that supports multi-window
and multi-tab usage allowing developer to react properly when users open new
browser window or tab</p>
<h2 id="reusable-components">Reusable Components</h2>
<p>Reusable components in Wicket are particularly easy to create. Not only can
you extend existing components with the Java extends keyword, but you can
also create Panel components which associate a group of components as a
reusable unit.</p>
<h2 id="simple-flexible-localizable-form-validation">Simple, Flexible, Localizable Form Validation</h2>
<p>It is trivial to write and use validators in Wicket. It is also quite easy to
customize and localize the display and content of validation error messages.</p>
<h2 id="typesafe-sessions">Typesafe Sessions</h2>
<p>Wicket eliminates the need to manage HttpSession attributes by hand. Page and
component objects are transparently stored in the session and your
application can create a custom session subclass with typesafe properties as
well. All objects stored in the session can automatically participate in
clustering replication.</p>
<h2 id="factory-customizable">Factory Customizable</h2>
<p>Wicket is very extensible. Most operations are customizable through factories
or factory methods.</p>
<h2 id="detachable-models">Detachable Models</h2>
<p>Model objects in Wicket can be very lightweight in terms of memory and
network use in a cluster. When a model is used, it can “attach”, populating
itself with information from persistent storage. When the model is no longer
in use, transient information can be reset, reducing the size of the object.</p>
<h2 id="border-components">Border Components</h2>
<p>Wicket Border components enable the decoration of pages in a reusable
fashion. This is especially useful for inheritance of common navigational
structures or layout.</p>
<h2 id="support-for-all-basic-html-features">Support for All Basic HTML Features</h2>
<p>Wicket supports image tags, links, forms and everything else that you’re used
to using in your web application development.</p>
<h2 id="programmatic-manipulation-of-attributes">Programmatic Manipulation of Attributes</h2>
<p>Wicket Components can programmatically change any HTML tag attribute.</p>
<h2 id="automatic-conversions">Automatic Conversions</h2>
<p>Once a Form validates, the model can be updated using Wicket converters. Most
ordinary conversions are built-in and it is easy to write new converters.</p>
<h2 id="dynamic-images">Dynamic Images</h2>
<p>Wicket makes image use, sharing and generation very easy. Dynamic images can
be created by simply implementing a paint method.</p>
<h2 id="pageable-listview">Pageable ListView</h2>
<p>ListViews in Wicket are extremely powerful. You can nest any kind of
component in a ListView row, even other ListViews. PageableListView supports
navigation links for large lists.</p>
<h2 id="tree-component">Tree Component</h2>
<p>Out of the box tree component for navigating and selecting nodes.</p>
<h2 id="localization">Localization</h2>
<p>HTML pages, images and resource strings can all be localized.</p>
<h2 id="examples">Examples</h2>
<p>Wicket has numerous examples showcasing all of the above features.</p>
</div>
<div id="clearer"></div>
<div id="footer"><span>
Copyright &copy; 2015 &mdash; 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.
</span></div>
</div>
</div>
</body>
</html>