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 :
<code> <tiles:insertAttribute name="body" /> </code>]]>
Declare a list that will be pass as an attribute . List elements are added using the tag 'addAttribute' or 'addListAttribute'. This tag can only be used inside 'insertTemplate', 'insertDefinition' or 'definition' tag.
]]>Add an element to the surrounding list. This tag can only be used inside 'putListAttribute' or 'addListAttribute' tags. Value can come from a direct assignment (value="aValue")
]]>Import attribute(s) to requested scope. Attribute name and scope are optional. If not specified, all attributes are imported in page scope. Once imported, an attribute can be used as any other beans from jsp contexts.
]]>null
, the value of name
will be used.
]]>
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>]]>
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:putAttribute>
or
<tiles:putListAttribute>
.
You must specify template
attribute, for inserting a template
Example :
<code> <tiles:insertTemplate template="/basic/myLayout.jsp" 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:insertTemplate> </code>]]>
Create a new definition at runtime. Newly created definition will be available across the entire request.
]]>Retrieve the value of the specified template attribute property, and render it to the current Writer as a String. The usual toString() conversions is applied on found value.
]]>Enclosing attribute container tag can be :
PutAttributeTagParent
interface. Exception is thrown if no appropriate tag can be found.
Put tag can have following atributes :
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.
]]>Declare a list that will be pass as attribute to tile. List elements are added using the tags 'addAttribute' or 'addListAttribute'. This tag can only be used inside 'insertTemplate', 'insertDefinition', 'definition' tags.
]]>