[{TableOfContents}]

%%commentbox
__Variable evaluation order__

The variables are evaluated in the following order:
# 'Preset' variables (or constants), as those listed on this page.
# 'Context' variables, as those set by plugins and tags.
# 'Property' variables, like those set in jspwiki.properties.
# 'Page' variables, like those set using the "SET" directive.
%% \\

!!!Defining Custom Variables
Starting with JSPWiki 2.2, you can use the "SET" directive to define a variable that exists only in the page.
\\\
For example:
\\
{{{
  [{SET foo='bar'}]
}}}

creates you a variable called "foo", which has the value of "bar".  You can access this value anywhere on your page by using the shorthand "[[{$foo}]".


!!!Pre-defined Variables
JSPWiki also defines all kinds of other variables, and tags and plugins can also add their own variables.  For example, see the [Counter] plugin.  The following variables are pre-defined by JSPWiki:

!applicationname

This is the name of this Wiki.  It has been set by the administrator in "jspwiki.properties". This Wiki is called ''[{$applicationname}]''.

!baseurl

The base URL address for this wiki.

!encoding

Describes the character encoding used in this Wiki. An encoding of "UTF-8" means that the Wiki accepts any character, including Chinese, Japanese, etc.  Encoding "ISO-8859-1" means that only western languages are supported.  This wiki uses the ''[{$encoding}]'' encoding.

!inlinedimages

Lets you know which image types are being inlined.

!interwikilinks

Writes HTML code for supported InterWiki links.

!jspwikiversion

Inserts the version number of the JSPWiki engine.  For example, this version is ''[{$jspwikiversion}]''.

!loginstatus

Shows how the current user has logged in.  For example, you are ''[{$loginstatus}]''.

!uptime

Inserts the amount of time since this Wiki has been last restarted.  This wiki has been up for ''[{$uptime}]''.

!pagename

Inserts the current page name.  Example: This page is called ''[{$pagename}]''.

!pageprovider

The current PageProvider.

!pageproviderdescription

A verbose, HTML description about the currently used page provider.

!requestcontext

The current RequestContext.  For example, this is the ''[{$requestcontext}]'' context.

!totalpages

The total number of pages available in this Wiki.

!username

Inserts the current user name: For example, you are now logged in as ''[{$username}]''.

!Inserting JSPWiki properties

You can also access some of the JSPWiki properties (that have been defined by the site maintainer) by using their property names directly.  See [SystemInfo] for an example.
Note that some properties might not be accessible due to security reasons.

----

[RefactorMe], some variables are missing and need a bit more documentation.

----

Needs more info on how to set global variables in jspwiki.properties. I cannot find how anywhere..