Velocity Tools
VelocityView
VelocityView Tools
Other Subprojects
|
ViewRenderTool Reference Documentation
|
|
This tool exposes methods to evaluate the given strings as VTL
(Velocity Template Language) and automatically using the current context.
Class |
| org.apache.velocity.tools.view.tools.ViewRenderTool |
Name |
| $render (this is the recommended name of the tool in
the Velocity context) |
Toolbox Configuration Example |
| <tool>
<key>render</key>
<scope>request</scope>
<class>org.apache.velocity.tools.view.tools.ViewRenderTool</class>
</tool> |
Author(s) |
| Nathan Bubna
|
- Method Overview
-
eval() |
Evaluates a String containing VTL using the current context, and
returns the result as a String.
|
recurse() |
Recursively evaluates a String containing VTL using the
current context, and returns the result as a String.
|
|
eval()
|
|
Evaluates a String containing VTL using the current context, and
returns the result as a String.
- Parameters
-
- vtl
-
The code to be evaluated.
- Returns
-
The evaluated code as a String.
Evaluates a String containing VTL using the current context, and
returns the result as a String. If this fails, then null
will be returned. This evaluation is not recursive.
#set( $list = [1,2,3] )
#set( $object = '$list' )
#set( $method = 'size()' )
$render.eval("${object}.$method")
|
|
This will produce the following output:
|
recurse()
|
|
Recursively evaluates a String containing VTL using the
current context, and returns the result as a String.
String recurse(String vtl)
|
- Parameters
-
- vtl
-
The code to be evaluated.
- Returns
-
The evaluated code as a String
Recursively evaluates a String containing VTL using the
current context, and returns the result as a String. It
will continue to re-evaluate the output of the last
evaluation until an evaluation returns the same code
that was fed into it.
#macro( say_hi )hello world!#end
#set( $foo = '#say_hi()' )
#set( $bar = '$foo' )
$render.recurse('$bar')
|
|
This will produce the following output:
|
|