|
|||||||||
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 Contextpublic 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 |