tiles


Standard Syntax:
     <%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles" %>

XML Syntax:
     <anyxmlelement xmlns:tiles="http://tiles.apache.org/tags-tiles" />

This tag library provides Tiles tags.

Tag Library Information
Display NameNone
Version2.0
Short Nametiles
URIhttp://tiles.apache.org/tags-tiles
 

Tag Summary
insertTemplate

Insert a template.

Insert a template with the possibility to pass parameters (called attributes). A template can be seen as a procedure that can take parameters or attributes. <tiles:insertTemplate> allows to define these attributes and pass them to the inserted jsp page, called template. Attributes are defined using nested tag <tiles:put> or <tiles:putList>.

You must specify

  • template attribute, for inserting a template

    Example :

      <tiles:insertTemplate template="/basic/myLayout.jsp" flush="true"> <tiles:put name="title" value="My first page" /> <tiles:put name="header" value="/common/header.jsp" /> <tiles:put name="footer" value="/common/footer.jsp" /> <tiles:put name="menu" value="/basic/menu.jsp" /> <tiles:put name="body" value="/basic/helloBody.jsp" /> </tiles:insert>  
  • insertDefinition

    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:put> or <tiles:putList>.

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

    Example :

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

    Inserts the value of an attribute into the page.

    This tag can be flexibly used to insert the value of an attribute into a page. As in other usages in Tiles, every attribute can be determined to have a "type", either set explicitly when it was defined, or "computed". If the type is not explicit, then if the attribute value is a valid definition, it will be inserted as such. Otherwise, if it begins with a "/" character, it will be treated as a "template". Finally, if it has not otherwise been assigned a type, it will be treated as a String and included without any special handling.

    Example :

        
    definition

    Create a template definition bean.

    Create a template definition as a bean. Newly created bean will be saved under specified "id", in the requested "scope". Definition tag has same syntax as insert

    putAttribute

    Put an attribute in enclosing attribute container tag.

    Enclosing attribute container tag can be :

    • <initContainer>
    • <definition>
    • <insertAttribute>
    • <insertDefinition>
    • <putListAttribute>
    (or any other tag which implements the {@link PutAttributeTagParent} interface. Exception is thrown if no appropriate tag can be found.

    Put tag can have following atributes :

    • name : Name of the attribute
    • value : value to put as attribute
    • type : value type. Only valid if value is a String and is set by value="something" or by a bean. Possible type are : string (value is used as direct string), template (value is used as a page url to insert), definition (value is used as a definition name to insert)
    • direct : Specify if value is to be used as a direct string or as a page url to insert. This is another way to specify the type. It only apply if value is set as a string, and type is not present.
    • beanName : Name of a bean used for setting value. Only valid if value is not set. If property is specified, value come from bean's property. Otherwise, bean itself is used for value.
    • beanProperty : Name of the property used for retrieving value.
    • beanScope : Scope containing bean.
    • role : Role to check when 'insert' will be called. If enclosing tag is <insert>, role is checked immediately. If enclosing tag is <definition>, role will be checked when this definition will be inserted.

    Value can also come from tag body. Tag body is taken into account only if value is not set by one of the tag attributes. In this case Attribute type is "string", unless tag body define another type.

    putListAttribute

    Declare a list that will be pass as attribute to tile.

    Declare a list that will be pass as attribute to tile. List elements are added using the tag 'add'. This tag can only be used inside 'insert' or 'definition' tag.

    addAttribute

    Add an element to the surrounding list. Equivalent to 'put', but for list element.

    Add an element to the surrounding list. This tag can only be used inside putList tag. Value can come from a direct assignment (value="aValue") or from a bean. One of 'value' or 'beanName' must be present.

    addListAttribute

    Declare a list that will be pass as attribute to tile.

    Declare a list that will be pass as attribute to tile. List elements are added using the tag 'add'. This tag can only be used inside 'insert' or 'definition' tag.

    getAsString

    Render the value of the specified template attribute to the current JspWriter

    Retrieve the value of the specified template attribute property, and render it to the current JspWriter as a String. The usual toString() conversions is applied on found value.

    Throw a JSPException if named value is not found.

    useAttribute

    Use attribute value inside page.

    Declare a Java variable, and an attribute in the specified scope, using tile attribute value.

    Java variable and attribute will have the name specified by 'id', or the original name if not specified.

    importAttribute

    Import Tile's attribute in specified context.

    Import attribute from tile to requested scope. Attribute name and scope are optional. If not specified, all tile attributes are imported in page scope. Once imported, an attribute can be used as any other beans from jsp contexts.

    initContainer

    Initialize the TilesContainer.

    In order to use the Tiles system, a TilesContainer must be instantiated. This initialization is generally done by the TilesListener (or perhaps the TilesServlet or TilesFilter).

    If the intialization needs to be dynamic, you can initialize the container using this tag. Realize however, that this tag MUST be executed prior to invoking any other definitions. Additionally, the initilization may only be done once, and any subsequent invocations will be ignored.

    destroyContainer

    Destroy the TilesContainer.

     


    Java, JSP, and JavaServer Pages are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries. Copyright 2002-3 Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054, U.S.A. All Rights Reserved.