Good solution to J2ee's messy front end?
I've been switching back and forth at my company doing ASPX and j2ee programming. (we write small sites in ASPX and put em on hosted solutions, and our custom applications/BIG websites are j2ee). Now java is a fine language, only marginally weaker then C#, but what it seems to lack is a good front end solution. We have a beautifully designed system all the way up until our JSPs, where we have all kinds of code strewn throughout them. Its disgusting. Is there anything comparable to ASPX's webforms? We've tried using i18n tag libraries (blech), but thats about it. Has anyone found a good solution? What are some of the ways you guys do it?
You need an MVC framework. Personally I would go with www.springframework.org .
I think Velocity is fantastic - http://jakarta.apachce.org/velocity/ - it's a templating soultion with only a few directives (output, looping, assignment, little else) which more or less forces you to keep your dynamic html pages as simple as possible. Since it's a general-purpose templating soultion you can also use it to generate xml documents too.
I'm a big fan of tapestry (http://jakarta.apache.org/tapestry/). Takes a while to get the hang of, but makes it very easy to make component-based web sites. I'd recommend giving it a try. The sample app shipped with the distro uses EJB's, so it's a good starting point.
I will second the recommendation for velocity... it is absolutely awesome... a perfect example of "less is more".
What about rolling your own simple MVC and use XMLC for the presentation? Works like a charm and your designers can do the HTML without worrying about too much code.
WebObjects http://www.webobjects.com/ is what you're looking for.
I recently started using Millstone ( http://millstone.org ) because it allows you to create a nice looking browser based front end with out having to deal at all with XHTML, XSL, etc. I haven't deployed the app yet though, and I'm not sure about how responsive it will be.
Fog Creek Home