Package 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
  Description
  `InsertDefinitionModel()`

- ## Method Summary

  Modifier and Type
  Method
  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 Details

  - ### InsertDefinitionModel

    public InsertDefinitionModel()

- ## Method Details

  - ### 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