Adam Winer schrieb:
When I've thought of this, I've always imagined that
really complex renderers would end up requiring
Java code, and that really simple renderers, well,
aren't that hard to write in the first place, and would be
much slower when written that way. At that point,
I gave up and worked on things I was sure would work. :)
Well depends, I think the Turbine framework has found a good middle
ground (they work extensively with velocity)
they add some tools classes and you can add your own, and the basic
action controllers just push data objects into the templates.
So you end up with a predefined set of tools in the template
and one or more data objects.
This could work very well for a template based component model.
As for the speed, it is probably a question on which level you can
trigger the templates.
Templating engines usually do some compilation and caching and build
their own page tree, so you might (like facelets) gain even a lot of
speed if done right, due to better caching than pure jsp which runs
straight through the rendering code every time.
I dont think you can gain this speed alone on component level (you might
gain some if you can intercept the caching points properly) you really
have to do the entire rendering on page level that way.
Facelets basically does this right as far as I understood but they did
it by sacrificing jsp (not a bad decision)