|
||||||||||
| 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
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
|
static java.lang.String |
KEY_PARSE_DEPTH
|
| Fields inherited from class org.apache.velocity.tools.generic.RenderTool |
DEFAULT_PARSE_DEPTH |
| Constructor Summary | |
ViewRenderTool()
Constructs a new instance |
|
| Method Summary | |
void |
configure(java.util.Map params)
Configures this tool using the specified parameters. |
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 |
eval, getParseDepth, internalRecurse, recurse, setParseDepth, setVelocityEngine |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public static final java.lang.String KEY_PARSE_DEPTH
private org.apache.velocity.context.Context context
| Constructor Detail |
public ViewRenderTool()
| Method Detail |
public void init(java.lang.Object obj)
init in interface ViewToolobj - the current Contextpublic void configure(java.util.Map params)
Configurable
configure in interface Configurableparams - the configuration data for this tool
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 | |||||||||