Dependency Injection as an Assembly line pattern A proud day. Emily graduates from Harvard. We get to hear Kofi Anan
Jun 10

Improving JavaServer Faces by dumping JSP

Java, Tech, Web Frameworks Add comments

There has been a lot of buzz about JavaServer Faces. Since its release, people seem to love it, or hate it. A lot of the hatred revolves around the JSP tags that you have to work with. Hans Bergsten shows us the flaws, and then shows us, what he thinks, is a better way.

This kind of article is great. I totally agree with Hans that the JSP approach is really clunky, and have mentioned some of these reasons in the past. Just look at a fairly complicated JSF page and you will wince. Show that to a designer and they will cry.

The component model itself isn’t that bad, and Hans gets to that. JSF also really needed to lift the bar and give us some awesome components right off of the bat, rather than leaving them to the community/third parties. If they could have wowed us with amazing controls, then more people would be jumping for it IMO.

JSF: Promising
Tapestry: Today

Improving JSF by Dumping JSP

TSS Discussion on the article

4 Responses to “Improving JavaServer Faces by dumping JSP”

  1. Jason Carreira Says:

    Blah… I’m not sold on either one… Web pages just aren’t that complicated, and when you start trying to make them that complicated, you should really be using something else.

  2. jsf_user Says:

    JSF: Future
    Tapestry: Past.
    Webwork: Jason the troll.

  3. Mike Spille Says:

    I agree with Jason on this one. Taking a component model too far adds too much complexity to what’s fundamentally a pretty easy task. A big part of the problem is that things like JSF try to model a web page as a very fine grained event-driven GUI – and web pages don’t really work that way. The model doesn’t match the reality, and developers end up programming to a rich-GUI paradigm when the underlying physical reality is a fairly dumb HTML/DHTML combination. If you’re programming to fine grained events, and your actual infrastructure is ultra-coarse request-response, you’re just asking for trouble.

  4. Howard M. Lewis Ship Says:

    Mike — good assesment, but that’s what Tapestry does; it maps from coarse grained HTTP requests to method invocations. It doesn’t do anything particularily magical, and it doesn’t require client-side JavaScript to make anything work. It doesn’t use or mimic Swing, but it takes on the flavor of GUI development.

    Jason — No Book For You! Actually, drop me an e-mail with your snail mail address.

Leave a Reply

Spam is a pain, I am sorry to have to do this to you, but can you answer the question below?

Q: What is the number before 3? (just put in the digit)