Blogging Roller

Dave Johnson on open web technologies, social software and software development


Holy grail of Java web development?

As I was working on Roller, I kept the UI fairly simple. I didn't create any forms that needed to refresh themselves before making a final post. I tried to avoid using JavaScript except where absolutely necessary. I was pretty happy with Servlets, JSP, and Struts.

Now, I'm working on a Java-based web application with very complex forms. Some of the forms have multiple tree choosers, dynamic select boxes, popup windows with dual-lists, and popups that cause the page that launched them to reload. There is just no avoiding JavaScript and our requirements are pushing us towards complex solutions like inner-browsing to reduce the number of trips to the server for page reloads.

I can live with JavaScript and I'm taking the time to study up, but I'm becoming pretty disenchanted with web-MVC. I'm finding that, even with an web-MVC framework like Struts, maintaining the state of all of the form fields and UI widgets through page reloads and popup interactions is a real pain. There has to be a better way and, the more more I read about Java Server Faces the more I become convinced that it will be that better way. JSF will introduce UI components that can manage their own state, fire events, and, in general, behave more like true UI components. Sounds like the holy grail of Java web development. Do any of the existing Java web application frameworks support this kind of UI components today?

Tags: Java

Main | Next day (Oct 3, 2003) »