Hi Stefan,
Glad that you like what we are doing. It's very encouraging to get so much positive feedback.

I've tried to answer your questions as best as possible below.

Stefan Arentz wrote:

First of all. Wow. This stuff rocks. Wicket is my first experience with a component based framework and I've never got up to speed so fast.

I've been looking for ways to simplify web development. Ruby on Rails does a lot of things I like, but I would really like to stick with Java. I'm pretty sure I'm going to use Wicket for my next web project.

The one feature that got me interested in Wicket was something I saw in the kickstart demo video; the embedded Jetty web server. That is just *so* smart. One of the biggest annoyances of Java web app development has always been the long cycles. Edit a JSP, redeploy, wait, wait, wait, hit reload, oh wait the session expired, login again, test, see te bug, goto 10.

I've been running Wicket in Eclipse's debugger and I can almost reload all code dynamically. Simply by typing new code and letting Eclipse do an auto-compile. There are some little problems in some cases but I'm sure that can be fixed once I properly identify those problems.

Ok, first some questions from this newbie :-)

* What's up with all the <span>'s? I simply use <p wicket:id="foo"></ p> and that also works fine. Is it a matter of personal html style or is it good practice to use the spans?

You are correct, there is no reason to use the span tag. Obviously some components (e.g. Link) require you to use the appropriate tag (e.g. A) but many others do not. I personally tend to use the span as this clearly separates exactly which tags are for insertion of Wicket component output from those which are related to the HTML page layout. In most cases it's just personal choice. I must admit that I generally just us the p tag when I'm working with labels.

* Panels. Great stuff. But how do I make things modular across different projects? Can I jar a panel's code and html up and simply drop it in another project's classpath?

Yes, just package your panel, the markup and any resource bundles into a jar and drop it into your next project. Wicket was designed to work this way. There are also some clever things that you can do with borders (and in 1.1 markup inheritance) to allow even more customisation of reusable panels - but we are still working out the best patterns for doing this. There are some ideas in the Wiki.

* Is there any literature about the differences between MVC and Component-based frameworks?

Not that I am particularly aware of. There are some brief things on out website. Perhaps this is a good topic for a white paper. I can certainly think of a number of large organisations that I have worked for where they will need something like this to make them move away from struts!

* Other people have pointed this out .. the URLs. Functional but ugly :-) It would be really nice to do custom mappings for pages. Something like Rails has would be great. Are there hooks to do something like that? Maybe through a Servlet Filter? (http:// manuals.rubyonrails.com/read/book/9)

Yes, we will be working on this for 1.1. I personally would like to see this feature built into the core of Wicket, rather than being added as an addition using something like a servlet filter. I have been thinking through some ideas on this which I will post to the dev list tomorrow.

* I see te Spring integration, but that project's web page also speaks of examples. Those are nowhere to be found however.

Most of the spring stuff is in the 'Wicket Stuff' (http://wicket-stuff.sourceforge.net). All of the extensions to Wicket that are not focused enough to be part of the core will end up in this project.

* Working with plain HTML is so great. But I do miss things that I am used to in JSP. For example, how do I do basic stuff like conditionally showing parts of a page? The basic 'if user is logged in then show the logout link, otherwise show the login and signup links' example. I'm still in a JSP mindset :-)

You can control what appears on the page by setting the visible state of any component on that page in the Java code. E.g.

if ( user.isLoggedIn() ) {
   loginPanel.setVisible(false);
   welcomeLabel.setVisible(true);
}


regards,
Chris


 S.



-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user




-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to