|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.apache.velocity.tools.generic.RenderTool
org.apache.velocity.tools.view.tools.ViewRenderTool
public class ViewRenderTool
This tool expose methods to evaluate the given
strings as VTL (Velocity Template Language)
and automatically using the current context.
Example of eval():
Input
-----
#set( $list = [1,2,3] )
#set( $object = '$list' )
#set( $method = 'size()' )
$render.eval("${object}.$method")
Output
------
3
Example of recurse():
Input
-----
#macro( say_hi )hello world!#end
#set( $foo = '#say_hi()' )
#set( $bar = '$foo' )
$render.recurse('$bar')
Output
------
hello world!
Toolbox configuration:
<tool>
<key>render</key>
<scope>request</scope>
<class>org.apache.velocity.tools.view.tools.ViewRenderTool</class>
<parameter name="parse.depth" value="10"/>
</tool>
Ok, so these examples are really lame. But, it seems like someone out there is always asking how to do stuff like this and we always tell them to write a tool. Now we can just tell them to use this tool.
This tool is NOT meant to be used in either application or session scopes of a servlet environment.
| Field Summary | |
|---|---|
private org.apache.velocity.context.Context |
context
|
| Fields inherited from class org.apache.velocity.tools.generic.RenderTool |
|---|
DEFAULT_PARSE_DEPTH, KEY_CATCH_EXCEPTIONS, KEY_PARSE_DEPTH |
| Constructor Summary | |
|---|---|
ViewRenderTool()
Constructs a new instance |
|
| Method Summary | |
|---|---|
java.lang.String |
eval(java.lang.String vtl)
Evaluates a String containing VTL using the current context, and returns the result as a String. |
void |
init(java.lang.Object obj)
Initializes this instance. |
java.lang.String |
recurse(java.lang.String vtl)
Recursively evaluates a String containing VTL using the current context, and returns the result as a String. |
| Methods inherited from class org.apache.velocity.tools.generic.RenderTool |
|---|
configure, eval, getCatchExceptions, getParseDepth, internalRecurse, recurse, setCatchExceptions, setParseDepth, setVelocityEngine |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private org.apache.velocity.context.Context context
| Constructor Detail |
|---|
public ViewRenderTool()
| Method Detail |
|---|
public void init(java.lang.Object obj)
obj - the current Context
public java.lang.String eval(java.lang.String vtl)
throws java.lang.Exception
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.
vtl - the code to be evaluated
java.lang.Exception
public java.lang.String recurse(java.lang.String vtl)
throws java.lang.Exception
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.
vtl - the code to be evaluated
java.lang.Exception
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||