freemarker.ext.servlet

## Class IncludePage

- java.lang.Object
- - freemarker.ext.servlet.IncludePage

All Implemented Interfaces:
  TemplateDirectiveModel, TemplateModel

    public class IncludePage
    extends Object
    implements TemplateDirectiveModel

A model that when invoked with a 'path' parameter will perform a servlet include. It also support an optional hash named 'params' which specifies request parameters for the include - its keys are strings, its values should be either strings or sequences of strings (for multiple valued parameters). A third optional parameter 'inherit_params' should be a boolean when specified, and it defaults to true when not specified. A value of true means that the include inherits the request parameters from the current request. In this case values in 'params' will get prepended to the existing values of parameters.

### Field Summary

### Fields inherited from interface freemarker.template.TemplateModel

`NOTHING`

### Constructor Summary

Constructors
Constructor and Description
`IncludePage(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `execute(Environment env, Map params, TemplateModel[] loopVars, TemplateDirectiveBody body)` Executes this user-defined directive; called by FreeMarker when the user-defined directive is called in the template.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### IncludePage

    public IncludePage(javax.servlet.http.HttpServletRequest request,
                       javax.servlet.http.HttpServletResponse response)

### Method Detail

#### execute

    public void execute(Environment env,
                        Map params,
                        TemplateModel[] loopVars,
                        TemplateDirectiveBody body)
                 throws TemplateException,
                        IOException

Description copied from interface: `TemplateDirectiveModel`
Executes this user-defined directive; called by FreeMarker when the user-defined directive is called in the template.

Specified by:
  `execute` in interface `TemplateDirectiveModel`
Parameters:
  `env` - the current processing environment. Note that you can access the output `Writer` by `Environment.getOut()`.
  `params` - the parameters (if any) passed to the directive as a map of key/value pairs where the keys are `String`-s and the values are `TemplateModel` instances. This is never `null`. If you need to convert the template models to POJOs, you can use the utility methods in the `DeepUnwrap` class.
  `loopVars` - an array that corresponds to the "loop variables", in the order as they appear in the directive call. ("Loop variables" are out-parameters that are available to the nested body of the directive; see in the Manual.) You set the loop variables by writing this array. The length of the array gives the number of loop-variables that the caller has specified. Never `null`, but can be a zero-length array.
  `body` - an object that can be used to render the nested content (body) of the directive call. If the directive call has no nested content (i.e., it's like <@myDirective /> or <@myDirective></@myDirective>), then this will be `null`.
Throws:
  `TemplateException` - If any problem occurs that's not an `IOException` during writing the template output.
  `IOException` - When writing the template output fails.