Class Summary |
Directive
|
Base class for all directives used in Velocity.
*
|
Foreach
|
Foreach directive used for moving through arrays,
or objects that provide an Iterator.
|
Include
|
Pluggable directive that handles the #include() statement in VTL.
This #include() can take multiple arguments of either
StringLiteral or Reference.
*
Notes:
-----
1) The included source material can only come from somewhere in
the TemplateRoot tree for security reasons. There is no way
around this. If you want to include content from elsewhere on
your disk, use a link from somwhere under Template Root to that
content.
*
2) By default, there is no output to the render stream in the event of
a problem. You can override this behavior with two property values :
include.output.errormsg.start
include.output.errormsg.end
If both are defined in velocity.properties, they will be used to
in the render output to bracket the arg string that caused the
problem.
Ex. : if you are working in html then
include.output.errormsg.start=
might be an excellent way to start...
*
3) As noted above, #include() can take multiple arguments.
Ex : #include( "foo.vm" "bar.vm" $foo )
will simply include all three if valid to output w/o any
special separator.
*
|
Literal
|
A very simple directive that leverages the Node.literal()
to grab the literal rendition of a node. We basically
grab the literal value on init(), then repeatedly use
that during render().
*
|
Macro
|
Macro.java
Macro implements the macro definition directive of VTL.
example :
#macro( isnull $i )
#if( $i )
$i
#end
#end
This object is used at parse time to mainly process and register the
macro. It is used inline in the parser when processing a directive.
|
Parse
|
Pluggable directive that handles the #parse() statement in VTL.
*
Notes:
-----
1) The parsed source material can only come from somewhere in
the TemplateRoot tree for security reasons. There is no way
around this. If you want to include content from elsewhere on
your disk, use a link from somwhere under Template Root to that
content.
*
2) There is a limited parse depth. It is set as a property
"parse_directive.maxdepth = 10" for example. There is a 20 iteration
safety in the event that the parameter isn't set.
*
|
ParseDirectiveException
|
Exception for #parse() problems
*
|
VelocimacroProxy
|
VelocimacroProxy.java
a proxy Directive-derived object to fit with the current directive system
|
VMProxyArg
|
|