org.apache.tiles.template

## Class InsertDefinitionModel

- java.lang.Object
- - org.apache.tiles.template.InsertDefinitionModel

-     public class InsertDefinitionModel
      extends Object

  Insert a definition.

  Insert a definition with the possibility to override and specify parameters (called attributes). A definition can be seen as a (partially or totally) filled template that can override or complete attribute values. `<tiles:insertDefinition>` allows to define these attributes and pass them to the inserted jsp page, called template. Attributes are defined using nested tag `<tiles:putAttribute>` or `<tiles:putListAttribute>`.

  You must specify `name` tag attribute, for inserting a definition from definitions factory.

  Example :

       <code>
                 <tiles:insertDefinition name=".my.tiles.defininition flush="true">
                    <tiles:putAttribute name="title" value="My first page" />
                    <tiles:putAttribute name="header" value="/common/header.jsp" />
                    <tiles:putAttribute name="footer" value="/common/footer.jsp" />
                    <tiles:putAttribute name="menu" value="/basic/menu.jsp" />
                    <tiles:putAttribute name="body" value="/basic/helloBody.jsp" />
                 </tiles:insertDefinition>
               </code>

  Since:
    2.2.0

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `InsertDefinitionModel()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `execute(String definitionName, String template, String templateType, String templateExpression, String role, String preparer, boolean flush, Request request, ModelBody modelBody)` Executes the operation.

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

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

- - ### Constructor Detail

    - #### InsertDefinitionModel

          public InsertDefinitionModel()

  - ### Method Detail

    - #### execute

          public void execute(String definitionName,
                              String template,
                              String templateType,
                              String templateExpression,
                              String role,
                              String preparer,
                              boolean flush,
                              Request request,
                              ModelBody modelBody)
                       throws IOException

      Executes the operation.
      Parameters:
        `definitionName` - The name of the definition to render.
        `template` - If specified, this template will be used instead of the one used by the definition.
        `templateType` - The type of the template attribute.
        `templateExpression` - The expression to evaluate to get the value of the template.
        `role` - A comma-separated list of roles. If present, the definition will be rendered only if the current user belongs to one of the roles.
        `preparer` - The preparer to use to invoke before the definition is rendered. If specified, it overrides the preparer specified in the definition itself.
        `flush` - If `true`, the response will be flushed after the insert.
        `request` - The request.
        `modelBody` - The body.
      Throws:
        `IOException` - If something goes wrong.
      Since:
        2.2.0

Copyright © 2000–2026 Apache Software Foundation. All rights reserved.