Save This Page
Home » velocity-1.5 » org.apache » velocity » runtime » directive » [javadoc | source]
org.apache.velocity.runtime.directive
public class: Include [javadoc | source]
java.lang.Object
   org.apache.velocity.runtime.directive.Directive
      org.apache.velocity.runtime.directive.InputBase
         org.apache.velocity.runtime.directive.Include

All Implemented Interfaces:
    Cloneable, DirectiveConstants

Pluggable directive that handles the #include() statement in VTL. This #include() can take multiple arguments of either StringLiteral or Reference.

Notes:

  1. For security reasons, the included source material can only come from somewhere within the template root tree. If you want to include content from elsewhere on your disk, add extra template roots, or use a link from somwhere under template root to that content.
  2. By default, there is no output to the render stream in the event of a problem. You can override this behavior with two property values : include.output.errormsg.start include.output.errormsg.end If both are defined in velocity.properties, they will be used to in the render output to bracket the arg string that caused the problem. Ex. : if you are working in html then include.output.errormsg.start=<!-- #include error : include.output.errormsg.end= --> might be an excellent way to start...
  3. As noted above, #include() can take multiple arguments. Ex : #include('foo.vm' 'bar.vm' $foo) will include all three if valid to output without any special separator.
Fields inherited from org.apache.velocity.runtime.directive.Directive:
rsvc
Method from org.apache.velocity.runtime.directive.Include Summary:
getName,   getType,   init,   render
Methods from org.apache.velocity.runtime.directive.InputBase:
getInputEncoding
Methods from org.apache.velocity.runtime.directive.Directive:
getColumn,   getLine,   getName,   getType,   init,   render,   setLocation
Methods from java.lang.Object:
equals,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from org.apache.velocity.runtime.directive.Include Detail:
 public String getName() 
    Return name of this directive.
 public int getType() 
    Return type of this directive.
 public  void init(RuntimeServices rs,
    InternalContextAdapter context,
    Node node) throws TemplateInitException 
    simple init - init the tree and get the elementKey from the AST
 public boolean render(InternalContextAdapter context,
    Writer writer,
    Node node) throws MethodInvocationException, IOException, ResourceNotFoundException 
    iterates through the argument list and renders every argument that is appropriate. Any non appropriate arguments are logged, but render() continues.