It's amusing to watch server programmers come up with a thousand different ways to abstract away HTML. If you've ever worked with a good interaction designer, the best thing you can do is let them write views in something as close to HTML as possible. Every attempt to auto-generate sections of the view is something that will need to be worked around at some point.
A lot of these frameworks seem to come from the mentality that design is just a programming problem that can be solved by pushing code out from the backend.
A lightweight templating language (smarty, velocity, etc etc) should be all you really need. Poking holes in the HTML and inserting data is precisely the right way to do it.