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| 构造器和说明 |
|---|
Parse() |
| 限定符和类型 | 方法和说明 |
|---|---|
java.lang.String |
getName()
Return name of this directive.
|
java.lang.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,
java.io.Writer writer,
Node node)
iterates through the argument list and renders every
argument that is appropriate.
|
getInputEncodinggetColumn, getLine, getTemplateName, isScopeProvided, makeScope, postRender, preRender, setLocation, setLocationpublic java.lang.String getName()
public java.lang.String getScopeName()
getScopeName 在类中 Directivepublic int getType()
public void init(RuntimeServices rs, InternalContextAdapter context, Node node) throws TemplateInitException
init 在类中 Directivers - context - node - TemplateInitExceptionpublic boolean render(InternalContextAdapter context, java.io.Writer writer, Node node) throws java.io.IOException, ResourceNotFoundException, ParseErrorException, MethodInvocationException
render 在类中 Directivecontext - writer - node - java.io.IOExceptionResourceNotFoundExceptionParseErrorExceptionMethodInvocationException