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