JForum currently uses FreeMarker (
http://freemarker.sf.net ) as it's template engine. You can find documentation on the syntax there.
In general, Freemarker uses
Java objects stored in it "context". In JForum, the context is filled in the "Action" classes that call the template (with some defaults being set in the general controller process that calls the action class).
Freemarker uses Bean set/get property syntax to access values from Java objects or can call methods directly. E.g., if there is a boolean property like subscribedToMailingList with getter like isSubscribedToMailingList(), in a context object with the handle of forum, you can access it's value by forum.subscribedToMailingList or forum.isSubscribedToMailingList().
The if syntax would be:
<#if forum.subscribedToMailingList >
...
</#if>
Since this is a boolean property, true/false
testing work. For other properties, this can be a test for null / has value.
[originally posted on jforum.net by monroe]