Mar 3rd, 2011, 10:28 AM
Sitemesh, Velocity, Freemarker, Tiles, JSTL... brain hurting...
I'm just getting to the part of a project where I have to decide what to use with Spring MVC and Webflow for page construction. The project I've been on for the last year and a half uses JSF, and at one time or another I've used just about every templating/decorating tech out there. I've found, though, after being away from heavy Spring usage, that things have gotten complicated.
I'm looking for advice from this diverse community as to what y'all think might be the best templating/decorating plugins to marry with Spring MVC/Workflow. What are your experiences out there, and are there clear leaders currently? Some of my experiences are like so:
Pretty slow (ironically), and I've had bad experiences with it eating exceptions and just presenting a blank page, with hours wasted trying to figure out which declaration was choking the parser.
Stuck with it's own JSP parser, which means that JSP 2 tag files aren't supported.
Support seems to be falling off. I've seen references to version 3.0, but not on the official site.
Last project used Tiles with JSF. Tiles seems ok, but I wonder if there is something easier.
I can't say that I'd ever use JSF again. Any framework that forces front-end UI developers to use only its tags is breaking separation of concerns and componentization rules. I would rather code my controllers in JSP scriptlets than ever have to replace all my html tags with t:htmlTag again.
Please - someone give me some hope before I decide to recode everything in node.js or twisted!
Last edited by ogradyjd; Mar 3rd, 2011 at 01:40 PM.
Mar 4th, 2011, 04:55 AM
I know this isn't the question you asked but it might help if you defined what you're missing or if you have any specific expectations?
Mar 5th, 2011, 10:00 AM
I found my bliss with SiteMesh + standard JSP. There are tons of reasons that can all be summarized with "I was able to do everything I wanted with very little effort". I'm so happy with this configuration that I took time to write this almost useless post only to say this
Seriously, the decorator pattern of SiteMesh works really well. You have testable pages (no need to open tags in a chunk and close them in another, every page is a stand-alone page), your decorators can be switched via different methods (sitemesh.xml or meta-tags in pages, this is awesome when you need to decorate error pages in different ways), it's really quick, integration is as easy as adding a filter to web.xml and Spring is almost unaware of it existence. Just be careful with HUGE pages, since SiteMesh works with StringBuffers and this can be a problem if you serve loooooong pages.
I'm trying to push this "back to the origin" configuration because someone still have to demosntrate me that nowadays buzzwords technologies are better, more flexible and quicker (both in dev and run time). I like to be at the bleeding edge of new techs but what matters is to get things done. My strong advice is to give this config a try. I can provide sample code.
Tags for this Thread