Class InsertDefinitionFMModel

java.lang.Object
org.apache.tiles.freemarker.template.InsertDefinitionFMModel
All Implemented Interfaces:
freemarker.template.TemplateDirectiveModel, freemarker.template.TemplateModel

public class InsertDefinitionFMModel extends Object implements freemarker.template.TemplateDirectiveModel

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 :

     <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>
 
  • Constructor Details

    • InsertDefinitionFMModel

      public InsertDefinitionFMModel(InsertDefinitionModel model)
      Constructor.
      Parameters:
      model - The template model.
  • Method Details

    • execute

      public void execute(freemarker.core.Environment env, Map params, freemarker.template.TemplateModel[] loopVars, freemarker.template.TemplateDirectiveBody body) throws freemarker.template.TemplateException, IOException
      Specified by:
      execute in interface freemarker.template.TemplateDirectiveModel
      Throws:
      freemarker.template.TemplateException
      IOException