> From: Dan Finkelstein [mailto:[EMAIL PROTECTED]] > > Hi -- this really helped. Ok, now I understand how the Velocity > initialization occurs. It appears that VelocityView Servlet doesn't allow > for a user-specified properties file, to override settings or say, > redirect > its logging file (from the server log). It is not really documented, and > relies on other supporting classes like Toolbox and ChainedContext and > WebAppLoader, which are also not documented. Gosh, what really is this > Toolbox all about?
To be honest, I'm not completely sure how to use all these features myself. The best answers will come from Geir and others on the velocity-user list; they are very good about answering questions. > What I did was pull out what seemed to be the bare essentials, and added > it > to an initialization servlet of my own making. You might also want to consider subclassing the VelocityViewServlet to add your functionality; I know it was designed with this in mind. Also, the VelocityViewServlet is rapidly being improved; you might want to take a look at the latest version in velocity's cvs tree. I don't know if it addresses the properties or not, but I vaguely recall someone talking about it on the velocity-user list. > Maverick comes up ok now, I see the Velocity log output where I want it, > meaning that it was initialized by my servlet. There is only one problem: > velocity is not processing the pages, so I just see the unprocessed > velocity templates in the browser. > I have a small question for now: How does Maverick decide which template > processor to use to transform files? I understand that Velocity is being > initialized, but how is Maverick "connected" to it? Does Maverick base > it's decision on filename extensions? Maverick itself doesn't really know (or need to know) anything about the VelocityViewServlet. Maverick just forwards to a document and expects the web container to figure out how to properly process it. This is the same way that JSP works. Your web container automatically maps all requests for *.jsp to its implementation of a JSPServlet. You need to configure your web.xml to map *.vm (or whatever extension your templates have) to the VelocityViewServlet. There is an example of this in friendbook-velocity: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/mav/opt-velocity/examples /friendbook-velocity/WEB-INF/web.xml?rev=1.2&content-type=text/vnd.viewc vs-markup So while it is based on extension, it's not Maverick that does it, it's your web container. BTW, the key to making this work is that the VelocityViewServlet wraps the normal servlet attribute collections (request, session, application) in a fa�ade that looks like the normal velocity Context. So really, using Velocity with Maverick is *just like* using JSP, only more pleasant :-) > Is there only one transform > capability supported at a time? I'm not sure I understand what you mean here... keep in mind that the idea of a "view" and a "transform" are distinct in Maverick. Views render the model. Some views allow transforms which manipulate the output of a view. Velocity isn't a transform, it's a "view" - it starts with the JavaBean model. Make sense? Jeff Schnitzer [EMAIL PROTECTED] _______________________________________________ Mav-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/mav-user
