The FreeMaker template handler is called with a "context' object which is a SimpleHash object that maps variable names to objects. This is created in the jForum
servlet and populated with "common" items.
Then it is passed to the specific action classes when they are created. The specific action methods can then add additional variables there.
Just look for references to the "context" object in the JForum code to see how this is done.
[originally posted on jforum.net by monroe]