org.apache.velocity.runtime.directive
public class BlockMacro extends Block
The macro can then refer to the passed body AST. This directive can be used as a "decorator". Body AST can contain any valid Velocity syntax. An example:
#set($foobar = "yeah!") #macro(strong $txt) <strong>$bodyContent</strong> $txt #end #@strong($foobar) <u>This text is underlined and bold</u> #endWill print:
<strong><u>This text is underlined and bold<u></strong> yeah!bodyContent reference name is configurable (see velocity.properties).
Block.Reference
BLOCK, LINE
Constructor and Description |
---|
BlockMacro(java.lang.String name) |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getName()
Return the name of this directive.
|
java.lang.String |
getScopeName()
Override to use the macro name, since it is within an
#@myMacro() ...
|
void |
init(RuntimeServices rs,
InternalContextAdapter context,
Node node)
Initializes the directive.
|
boolean |
render(InternalContextAdapter context,
java.io.Writer writer,
Node node)
Renders content using the selected macro and the passed AST body.
|
getColumn, getLine, getTemplateName, isScopeProvided, makeScope, postRender, preRender, setLocation, setLocation
public java.lang.String getName()
Directive
public java.lang.String getScopeName()
getScopeName
in class Directive
public void init(RuntimeServices rs, InternalContextAdapter context, Node node) throws TemplateInitException
init
in class Block
rs
- context
- node
- TemplateInitException
public boolean render(InternalContextAdapter context, java.io.Writer writer, Node node) throws java.io.IOException
Copyright © 2000-2014. All Rights Reserved.