It's not the controller's job to render view items
Absolutely! And I'm one of the staunchest defenders of this principle. But you are painting it with too broad a brush. Setting up data so that it can be used by the JSP pages in a straight-forward fashion doesn't constitute rendering.
The JSTL and the EL were purposefully designed to work within a limited data world view; that is: bean-patterned classes, arrays and collections (such as Lists and Maps). This design focus was specifically chosen to steer people away from processing on the JSP pages.
Togther, the controller and view layers compose the Presentation Layer. If you were to convert your app to a Swing or command line program, the controller layer would not tag along. It is intrinsically part of the UI, even if it does not directly participate in renderring it.
It is entirely appropriate, in fact expected by the EL, for the controller to set up the scoped variable data for the page in an "EL-friendly" manner. This does not cross the line of "renderring" -- now if your controller starts building up the HTML to display those strings in string buffers, you know you've crossed the line big-time.
[ December 09, 2004: Message edited by: Bear Bibeault ]