AFAIK, no one has implemented JSP based decorators yet. I am hoping to do so when I get some time, but I wouldn't hold my breath. It shouldn't be too difficult, but as Raj pointed out, I think that some assumptions were made with regards to velocity.
I was actually looking at the portlet decorator last night because I needed to suppress the minimize/maximize actions. AFAIK, there is no way to configure this, so I had to put in a velocity hack. In examining the backing Java classes, I found that even parts of the API have velocity in the package name! (eg. org.apache.jetspeed.velocity.DecoratorAction). However, I'm not sure why at least some of this API couldn't be made generic so it could be used for JSPs as well... While we're on the subject, I think that there are two things that would reduce a lot of developer's frustrations with the velocity decorators: 1. Finish the documentation for it. It is a good start and definitely helped me a lot, but it doesn't even talk about portlet decorators. 2. Put helpful comments in the example decorators. For example, the defineObjects macro i in a typical header.vm: #* Add the current layouts configuration values to the context *# #defineLayoutObjects() Sure, it tells me a bit about what it is doing, but what would be reallyhelpful is if there was also a comment that said "BTW, this macro is defined in /WEB-INF/jetspeed_macros.vm". I for one, would have never thought to look there until I saw it in the documentation. Or the portlet decorator, maybe in the decorator.properties, there should be a comment that says "by default, the velocity template located at decorations/portlet/decorator.vm is used unless you put your own decorator.vm in this directory." And here's a question, how come with the layout decorator, I can define a macro file using template.macros=-macros that seems to add to available macros (doesn't replace jetspeed_macros.vm), but I can't do this for the portlet decorator? Anyhow Raj, I'm sure if you implemented JSP based ones, you would gain a large and loyal following. ;-)
