At last I have an excuse for my tardiness in updating this so-called blog. I’ve spent the last two weeks avoid trivial pursuits like games and reading my book on the politics of Africa – instead I’ve been programming, playing with the MVC framework WebWork 2.
Why WebWork 2? Well, I’ve got a task to complete and I’ve significant expertise in Java. WebWork 2 is lined up as the basis for Struts 2, which is quite an endorsement. And while Ruby on Rails is all very neat, so in IntelliJ 6.0 (beta). So I’ve been mocking up a simple user management system, with the now-standard toys like adding list items without the pain of a page reload.
What’s good? It’s a streamlined Struts. While many of the concepts remain the same you have much more control over the workflow, more options in how the code is structured and lots more done by convention over configuration.
What’s not so good? It uses the OGNL stack so it has custom tags. It doesn’t make indexed properties easy, something Struts mastered in 2003. And the documentation is spotty – there are lots of gaps and quite a few contradictory areas. And given the emphasis on convention over configuration it can lead to some quite mysterious behaviour.
It is certainly a framework with a lot of promise though. My suggestions would be simple support for indexed properties – just why do I need to generate indices? – and general robustness (the validators don’t handle null items in lists for instance). And, of course, clear, in-depth and accurate documentation. Maybe these things will come as part of Struts 2.0. Or I could even add them: the joys of open source. But, of course, for the free time to do it.







