IncludePage (FreeMarker 2.3.23 API)
Date: 2015-07-05

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
    Modifier and Type | Method and Description
    --- | ---
    `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.