Developing with Wicket
Getting started in a new framework can be a bit awkward, if not downright frustrating. Wicket, like many 1.x open source projects (and even some 4.x ones) does not have a lot of documentationthe Javadoc of the API, some examples, and a very immature wiki. You most certainly won't find a Wicket for Dummies at Amazon.com. There is, however, a great tutorial on getting started with Wicket available. Once you're up and running with that, the Javadocs and the samples can help you figure out most everything else you need to do.
The Steps
Every Wicket application requires an application class. This defines the home page and also performs some configuration, if necessary. Their sample Helloworld application uses it this way:
package wicket.examples.helloworld;
import wicket.protocol.http.WebApplication;
public class HelloWorldApplication extends WebApplication
{
public HelloWorldApplication()
{
getPages().setHomePage(HelloWorld.class);
}
}
This application is then mapped as a servlet in the web.xml file of your J2EE server.
Once you have done this, you can create pages using HTML. You can also create the related Java classes that will build formsusing the simple add() method to add new elements and link the names of the elements, such as TextArea to the id used in the HTML page. The Web page code looks like this:
package wicket.examples.helloworld;
import wicket.markup.html.WebPage;
import wicket.markup.html.basic.Label;
public class HelloWorld extends WebPage
{
public HelloWorld()
{
add(new Label("message", "Hello World!"));
}
}
And the Web page:
<html>
<body>
<span wicket:id="message">Message goes here</span>
</body>
</html>
Depending on the elements you're using, you may need to create additional HTML files containing more wicket code. For example, the navigation example uses a link element. This contains the navigation links and uses the <wicket:link> tag to create your HTML links.
Finally, you'll create your data models. These are basically serializable data objects (a la JavaBeans) with getter and setter methods and typed properties. Just build them and write to them and voila!
Worth Looking Into
Truth be told, it is hard to judge a framework without building a real application in it. However, for simple Web-based applications, Wicket seems to be intuitive, simple and certainly worth looking into. In it's present state, it is fairly rudimentary, but some of the work they are doing with AJAX and their plans for 1.2 include an implementation of the J2EE portlet specification look great. On the flip side, this is not the application for Service Oriented Applications, but only those applications that will be exposed via HTML (and possibly WML in future releases). Additionally, while the documentation seems to be evolving (they are only at 1.1 release candidate currently), getting the full feel and up and running quickly may take longer than necessary.
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|