public class Parse extends InputBase
#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 "directive.parse.max.depth = 10" by default. This 10 deep limit is a safety feature to prevent infinite loops.
BLOCK, LINE
Constructor and Description |
---|
Parse() |
Modifier and Type | Method and Description |
---|---|
String |
getName()
Return name of this directive.
|
String |
getScopeName()
Overrides the default to use "template", so that all templates
can use the same scope reference, whether rendered via #parse
or direct merge.
|
int |
getType()
Return type of this directive.
|
void |
init(RuntimeServices rs,
InternalContextAdapter context,
Node node)
Init's the #parse directive.
|
boolean |
render(InternalContextAdapter context,
Writer writer,
Node node)
iterates through the argument list and renders every
argument that is appropriate.
|
getInputEncoding
getColumn, getLine, getTemplateName, isScopeProvided, makeScope, postRender, preRender, setLocation, setLocation
public String getName()
public String getScopeName()
getScopeName
in class Directive
public int getType()
public void init(RuntimeServices rs, InternalContextAdapter context, Node node) throws TemplateInitException
init
in class Directive
rs
- context
- node
- TemplateInitException
public boolean render(InternalContextAdapter context, Writer writer, Node node) throws IOException, ResourceNotFoundException, ParseErrorException, MethodInvocationException
render
in class Directive
context
- writer
- node
- IOException
ResourceNotFoundException
ParseErrorException
MethodInvocationException
Copyright © 2000–2018. All rights reserved.